class PageMeta::MetaTag

Attributes

name[R]

Public Class Methods

build(name, content) click to toggle source
# File lib/page_meta/meta_tag.rb, line 7
def self.build(name, content)
  klass_name = "::PageMeta::MetaTag::#{name.to_s.camelize}"
  klass = begin
    const_get(klass_name)
  rescue ActionView::Template::Error, NameError
    MetaTag
  end
  klass.new(name, content)
end
new(name, content) click to toggle source
# File lib/page_meta/meta_tag.rb, line 17
def initialize(name, content)
  @name = name.to_s.dasherize
  @raw_content = content
end

Public Instance Methods

content() click to toggle source
# File lib/page_meta/meta_tag.rb, line 22
def content
  @content ||=
    @raw_content.respond_to?(:call) ? @raw_content.call : @raw_content
end
helpers() click to toggle source
# File lib/page_meta/meta_tag.rb, line 31
def helpers
  ActionController::Base.helpers
end
render() click to toggle source
# File lib/page_meta/meta_tag.rb, line 27
def render
  helpers.tag(:meta, name:, content:) unless content.blank?
end