class ActiveSeo::Contextualizer
Public Class Methods
new(record)
click to toggle source
# File lib/active_seo/contextualizer.rb, line 5 def initialize(record) @record = record @config = record.class.seo_config @opengraph = config.opengraph.merge(model_og_meta) @twitter = config.twitter.merge(model_twitter_meta) end
Public Instance Methods
og_meta()
click to toggle source
# File lib/active_seo/contextualizer.rb, line 12 def og_meta parse_meta(opengraph).deep_symbolize_keys end
twitter_meta()
click to toggle source
# File lib/active_seo/contextualizer.rb, line 16 def twitter_meta parse_meta(twitter).deep_symbolize_keys end
Private Instance Methods
call_record_proc(proc_method)
click to toggle source
# File lib/active_seo/contextualizer.rb, line 55 def call_record_proc(proc_method) proc_method.call record end
get_record_value(attribute)
click to toggle source
# File lib/active_seo/contextualizer.rb, line 51 def get_record_value(attribute) try(attribute) || record.try(attribute) end
parse_meta(options)
click to toggle source
# File lib/active_seo/contextualizer.rb, line 22 def parse_meta(options) meta = {} if options.is_a? Hash options.each do |key, value| meta[key] = parse_values(key, value) end else meta[key] = parse_values(key, value) end meta end
parse_values(key, value)
click to toggle source
# File lib/active_seo/contextualizer.rb, line 36 def parse_values(key, value) data = nil case value when Symbol data = get_record_value value when Proc data = call_record_proc value else data = value end data end