class PageMeta::Base

Constants

DEFAULT_META_TAGS

Attributes

controller[R]
store[R]

Public Class Methods

new(controller) click to toggle source
# File lib/page_meta/base.rb, line 18
def initialize(controller)
  @controller = controller
  @description = {}
  @store = {}
end

Public Instance Methods

compute_default_charset() click to toggle source
# File lib/page_meta/base.rb, line 90
def compute_default_charset
  tag(:charset, Rails.configuration.encoding)
end
compute_default_description() click to toggle source
# File lib/page_meta/base.rb, line 98
def compute_default_description
  tag(:description, description.to_s) unless description.to_s.blank?
end
compute_default_keywords() click to toggle source
# File lib/page_meta/base.rb, line 94
def compute_default_keywords
  tag(:keywords, keywords.to_s) unless keywords.to_s.blank?
end
compute_default_language() click to toggle source
# File lib/page_meta/base.rb, line 82
def compute_default_language
  tag(:language, I18n.locale)
end
compute_default_meta_tags() click to toggle source
# File lib/page_meta/base.rb, line 76
def compute_default_meta_tags
  DEFAULT_META_TAGS.each do |method_name|
    public_send(:"compute_default_#{method_name}")
  end
end
compute_default_title() click to toggle source
# File lib/page_meta/base.rb, line 86
def compute_default_title
  tag(:title, title) unless title.to_s.blank?
end
compute_default_viewport() click to toggle source
# File lib/page_meta/base.rb, line 102
def compute_default_viewport
  tag(:viewport, "width=device-width,initial-scale=1") unless meta_tags[:viewport]
end
description(html: false) click to toggle source
# File lib/page_meta/base.rb, line 44
def description(html: false)
  @description[html] ||= Translator.new(:descriptions, naming, store.merge(html:))
end
keywords() click to toggle source
# File lib/page_meta/base.rb, line 48
def keywords
  @keywords ||= Translator.new(:keywords, naming, store)
end
meta_tags() click to toggle source
# File lib/page_meta/base.rb, line 24
def meta_tags
  @meta_tags ||= {}
end
naming() click to toggle source
# File lib/page_meta/base.rb, line 58
def naming
  @naming ||= Naming.new(controller)
end
render() click to toggle source
# File lib/page_meta/base.rb, line 52
def render
  compute_default_meta_tags
  render_meta_tags + render_links
end
Also aliased as: to_s
render_meta_tags() click to toggle source
# File lib/page_meta/base.rb, line 62
def render_meta_tags
  meta_tags
    .map {|name, value| MetaTag.build(name, value).render }
    .join
    .html_safe
end
tag(name, value) click to toggle source
# File lib/page_meta/base.rb, line 32
def tag(name, value)
  meta_tags[name] = value
end
title() click to toggle source
# File lib/page_meta/base.rb, line 40
def title
  @title ||= Translator.new(:titles, naming, store)
end
to_s()
Alias for: render