Module: Metamagic::ViewHelper

Defined in:
lib/metamagic/view_helper.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/metamagic/view_helper.rb', line 24

def method_missing(method, *args, &block)
  if metamagic_renderer.has_tag_type?(method)
    args.first.tap do |value|
      meta method => value
    end
  else
    super
  end
end

Instance Method Details

#meta(hash = {}) ⇒ Object



3
4
5
# File 'lib/metamagic/view_helper.rb', line 3

def meta(hash = {})
  metamagic_renderer.add hash
end

#metamagic(hash = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/metamagic/view_helper.rb', line 7

def metamagic(hash = {})
  if title_template = hash.delete(:title_template)
    # Deprecation warning
    Rails.logger.warn "[Metamagic] Using `metamagic title_template: #{title_template.inspect}` has been deprecated. Please use `metamagic title: #{title_template.inspect}` instead."
    hash[:title] = title_template
  end

  # Loop through special options
  hash.slice(:site, :separator).each do |key, value|
    metamagic_renderer.send("#{key}=", value)
    hash.delete key
  end

  metamagic_renderer.add hash, true
  metamagic_renderer.render
end