module Revelry::Content::ContentsHelper

Public Instance Methods

revelry_content_image(key, default: nil) click to toggle source
# File lib/revelry/content/contents_helper.rb, line 27
def revelry_content_image(key, default: nil)
  lookup = @revelry_content_contents

  if lookup.present? && lookup.has_key?(key)
    content = lookup[key]
  else
    content = {
      key: key,
      src: default
    }
  end
  content = HashWithIndifferentAccess.new(content)

  if Revelry::Content.config.authorize(controller)
    props = {
      content: content,
      canEdit: true
    }.to_json

    content_tag :span, 'data-react-class' => 'Rev.Content.EditableImage', 'data-react-props' => props do
      image_tag content["src"]
    end
  else
    image_tag content["src"]
  end
end
revelry_content_text(key, default: "") click to toggle source
# File lib/revelry/content/contents_helper.rb, line 3
def revelry_content_text(key, default: "")
  lookup = @revelry_content_contents

  if lookup.present? && lookup.has_key?(key)
    content = lookup[key]
  else
    content = {
      key: key,
      content: default,
      html_content: default
    }
  end
  content = HashWithIndifferentAccess.new(content)

  props = {
    content: content,
    canEdit: Revelry::Content.config.authorize(controller)
  }.to_json

  content_tag :span, 'data-react-class' => 'Rev.Content.EditableText', 'data-react-props' => props do
    content[:html_content].html_safe
  end
end