Module: TranslationCms::Taggable

Extended by:
ActiveSupport::Concern
Included in:
Post, Structure
Defined in:
lib/translation_cms/taggable.rb

Instance Method Summary collapse

Instance Method Details

#cached_meta_tagsObject



30
31
32
# File 'lib/translation_cms/taggable.rb', line 30

def cached_meta_tags
  @cached_meta_tags ||= {}
end

#meta_tag(attr_name, options = {}) ⇒ Object

Save meta tags records into one hash



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/translation_cms/taggable.rb', line 18

def meta_tag(attr_name, options = {})
  key = normalize_meta_tag_name(attr_name)

  pure_key, locale = localized_meta_key_case.match(key)[1..2]
  locale ||= I18n.locale
  key = locale == I18n.default_locale ? pure_key : [pure_key, locale || I18n.locale].join('_')

  cached_meta_tags[key] ||= meta_tags.detect { |t| t.name == key }
  cached_meta_tags[key] ||= meta_tags.build(name: key) if options[:build]
  cached_meta_tags[key]
end