module ActionView::ShareableObject::ViewHelpers

Public Instance Methods

social_meta_tags_for(object, overrides = {}) click to toggle source
# File lib/acts_as_shareable_object/action_view/shareable_object/view_helpers.rb, line 4
def social_meta_tags_for(object, overrides = {})
  raise "You need to add acts_as_shareable_object to your #{object.class} model." unless object.respond_to?(:social_meta_properties)
  parse_tags(object.social_meta_properties).join("\n").html_safe
end

Private Instance Methods

parse_tags(properties, namespace = nil) click to toggle source
# File lib/acts_as_shareable_object/action_view/shareable_object/view_helpers.rb, line 11
def parse_tags(properties, namespace = nil)
  tags = []
  Array(properties).each do |key, value|
    if value.is_a?(Hash)
      tags << parse_tags(value, [namespace, key].compact.join(':'))
    else
      name = [namespace, key].join(':')
      tags << tag(:meta, {name: name, property: name, content: value}, true)
    end
  end
  tags
end