Module: Middleman::OGP::Helper
- Includes:
- Padrino::Helpers::TagHelpers
- Defined in:
- lib/middleman-ogp/extension.rb
Class Method Summary collapse
Class Method Details
.og_tag(key, obj = nil, prefix = 'og', &block) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/middleman-ogp/extension.rb', line 49 def self.og_tag(key, obj = nil, prefix = 'og', &block) case key when String, Symbol key = [key] when Hash prefix = obj if obj obj = key key = [] end case obj when Hash obj.map{|k, v| og_tag(k.to_s.empty? ? key.dup : (key.dup << k.to_s) , v, prefix, &block) }.join("\n") when Array obj.map{|v| og_tag(key, v, prefix, &block) }.join("\n") else block.call [prefix].concat(key).join(':'), obj.to_s end end |
.ogp_tags(opts = {}, &block) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/middleman-ogp/extension.rb', line 27 def self.(opts = {}, &block) opts ||= {} = (namespaces.respond_to?(:to_h) ? namespaces.to_h : namespaces || {}).dup opts.stringify_keys! .stringify_keys! = .deep_merge4(opts) {|k, old_value, new_value| if old_value.is_a?(Hash) if new_value.is_a? Hash old_value.deep_merge4 new_value else old_value[''] = new_value old_value end else new_value end }.symbolize_keys .map{|k, v| og_tag([], v, k, &block) }.join("\n") end |