class Howitzer::Meta::Entry

This class provides access to meta information entities

Attributes

context[R]

Public Class Methods

new(context) click to toggle source

Creates new meta entry instance for the page which provides access to elements, iframes and sections @param context [Howitzer::Web::Page] page for which entry is created

# File lib/howitzer/meta/entry.rb, line 9
def initialize(context)
  @context = context
end

Public Instance Methods

element(name) click to toggle source

Finds element by name @param name [String, Symbol] element name @return [Meta::Element]

# File lib/howitzer/meta/entry.rb, line 25
def element(name)
  elements.find { |el| el.name == name.to_s }
end
elements() click to toggle source

Returns array of elements @return [Array]

# File lib/howitzer/meta/entry.rb, line 15
def elements
  @elements ||= context
                .private_methods
                .grep(/\A(?!wait_)\w+_element\z/)
                .map { |el| Meta::Element.new(el.to_s.gsub('_element', ''), context) }
end
iframe(name) click to toggle source

Finds iframe by name @param name [String, Symbol] iframe name @return [Meta::Iframe]

# File lib/howitzer/meta/entry.rb, line 57
def iframe(name)
  iframes.find { |el| el.name == name.to_s }
end
iframes() click to toggle source

Returns array of iframes @return [Array]

# File lib/howitzer/meta/entry.rb, line 47
def iframes
  @iframes ||= context
               .public_methods
               .grep(/\A(?!wait_)\w+_iframe$\z/)
               .map { |el| Meta::Iframe.new(el.to_s.gsub('_iframe', ''), context) }
end
section(name) click to toggle source

Finds section by name @param name [String, Symbol] section name @return [Meta::Section]

# File lib/howitzer/meta/entry.rb, line 41
def section(name)
  sections.find { |el| el.name == name.to_s }
end
sections() click to toggle source

Returns array of sections @return [Array]

# File lib/howitzer/meta/entry.rb, line 31
def sections
  @sections ||= context
                .public_methods
                .grep(/\A(?!wait_)\w+_section$\z/)
                .map { |el| Meta::Section.new(el.to_s.gsub('_section', ''), context) }
end