Class: PageMeta::Link

Inherits:
Object
  • Object
show all
Defined in:
lib/page_meta/link.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rel, options) ⇒ Link

Returns a new instance of Link.



17
18
19
20
# File 'lib/page_meta/link.rb', line 17

def initialize(rel, options)
  @rel = rel.to_s.dasherize
  @options = options
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



15
16
17
# File 'lib/page_meta/link.rb', line 15

def options
  @options
end

#relObject (readonly)

Returns the value of attribute rel.



15
16
17
# File 'lib/page_meta/link.rb', line 15

def rel
  @rel
end

Class Method Details

.build(rel, options) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/page_meta/link.rb', line 5

def self.build(rel, options)
  klass_name = "::PageMeta::Link::#{rel.to_s.camelize}"
  klass = begin
            const_get(klass_name)
          rescue ActionView::Template::Error, NameError
            Link
          end
  klass.new(rel, options)
end

Instance Method Details

#helpersObject



26
27
28
# File 'lib/page_meta/link.rb', line 26

def helpers
  ActionController::Base.helpers
end

#renderObject



22
23
24
# File 'lib/page_meta/link.rb', line 22

def render
  helpers.tag(:link, options.merge(rel: rel)) unless options.empty?
end