Module: PageTitleHelper
- Defined in:
- lib/page_title_helper.rb
Overview
PageTitleHelper
Defined Under Namespace
Modules: Interpolations
Class Method Summary collapse
-
.formats ⇒ Object
Defined alias formats, pretty useful.
-
.interpolates(key, &block) ⇒ Object
Add new, custom, interpolation.
-
.options ⇒ Object
Default options, which are globally referenced and can be changed globally, which might be useful in some cases.
Instance Method Summary collapse
- #page_title(options = nil, &block) ⇒ Object
-
#page_title!(*args) ⇒ Object
Specify page title.
Class Method Details
.formats ⇒ Object
Defined alias formats, pretty useful.
53 54 55 56 57 58 59 |
# File 'lib/page_title_helper.rb', line 53 def self.formats @formats ||= { :app => ":app", :default => ':title - :app', :title => ":title" } end |
.interpolates(key, &block) ⇒ Object
Add new, custom, interpolation.
38 39 40 |
# File 'lib/page_title_helper.rb', line 38 def self.interpolates(key, &block) Interpolations.send(:define_method, key, &block) end |
.options ⇒ Object
Default options, which are globally referenced and can be changed globally, which might be useful in some cases.
44 45 46 47 48 49 50 |
# File 'lib/page_title_helper.rb', line 44 def self. @options ||= { :format => :default, :default => :'app.tagline', :suffix => :title } end |
Instance Method Details
#page_title(options = nil, &block) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/page_title_helper.rb', line 67 def page_title( = nil, &block) return page_title!(yield) if block_given? # define title = PageTitleHelper..merge( || {}).symbolize_keys! [:format] ||= :title # handles :format => false .assert_valid_keys(:app, :suffix, :default, :format) # construct basic env to pass around env = Interpolations::TitleEnv.new(, self, self.controller) # read page title and split into 'real' title and customized format env.title = @_page_title || I18n.translate(i18n_template_key([:suffix]), :default => [:default]) env.title, [:format] = *(env.title << [:format]) if env.title.is_a?(Array) # handle format aliases format = [:format] format = PageTitleHelper.formats[format] if PageTitleHelper.formats.include?(format) # interpolate format Interpolations.interpolate format, env end |
#page_title!(*args) ⇒ Object
Specify page title
62 63 64 65 |
# File 'lib/page_title_helper.rb', line 62 def page_title!(*args) @_page_title = args.size > 1 ? args : args.first @_page_title.is_a?(Array) ? @_page_title.first : @_page_title end |