module Metazilla::ViewHelper

Public Instance Methods

app_title(value = nil) click to toggle source
# File lib/metazilla/view_helper.rb, line 11
def app_title(value = nil)
  if value.present?
    _meta_store[:app_title] = value
  else
    _meta_store[:app_title] || _meta_lookup("application")
  end
end
full_title(separator = Metazilla.configuration.separator) click to toggle source
# File lib/metazilla/view_helper.rb, line 23
def full_title(separator = Metazilla.configuration.separator)
  [title, app_title].flatten.select { |i| i.present? }.join(separator)
end
meta(name, content = nil) click to toggle source
# File lib/metazilla/view_helper.rb, line 27
def meta(name, content = nil)
  if content.present?
    _meta_store[name] = content
  else
    _meta_store[name] || _meta_lookup("meta_#{name}")
  end
end
meta_tag(name) click to toggle source
# File lib/metazilla/view_helper.rb, line 35
def meta_tag(name)
  tag :meta, name: name, content: meta(name)
end
title(value = nil) click to toggle source
# File lib/metazilla/view_helper.rb, line 3
def title(value = nil)
  if value.present?
    _meta_store[:page_title] = value
  else
    _meta_store[:page_title] || _meta_lookup("title")
  end
end
title_tag() click to toggle source
# File lib/metazilla/view_helper.rb, line 19
def title_tag
  content_tag :title, full_title
end

Private Instance Methods

_meta_lookup(key) click to toggle source
# File lib/metazilla/view_helper.rb, line 45
def _meta_lookup(key)
  options = controller.view_assigns.symbolize_keys
  options[:cascade] = true
  options[:default] = ""
  mapped_action = (Metazilla.configuration.mapping[action_name.to_sym] || action_name)

  t [controller_path.split("/"), mapped_action, key].flatten.join("."), options
end
_meta_store() click to toggle source
# File lib/metazilla/view_helper.rb, line 41
def _meta_store
  @_meta_store ||= {}
end