module Druid::LocatorGenerator

Constants

ADVANCED_ELEMENTS
BASIC_ELEMENTS

Public Class Methods

generate_locators(target) click to toggle source
# File lib/druid/locator_generator.rb, line 159
def self.generate_locators(target)
   ADVANCED_ELEMENTS.each do |tag|
     target.send(:define_method, "#{tag.to_s}_element") do |*identifier|
       self.send "#{tag.to_s}_for", locator(identifier).clone
     end

     target.send(:define_method, "#{tag.to_s}_elements") do |*identifier|
       self.send "#{tag.to_s}s_for", identifier[0] ? identifier[0].clone : {}
     end
   end

   BASIC_ELEMENTS.each do |tag|
     target.send(:define_method, "#{tag.to_s}_element") do |*identifier|
       self.send :element_for, tag, locator(identifier)
     end

     target.send(:define_method, "#{tag.to_s}_elements") do |*identifier|
       self.send(:elements_for, tag, identifier[0] ? identifier[0] : {})
     end
   end
end