Module: AePageObjects::Dsl::Element::ClassMethods

Defined in:
lib/ae_page_objects/core/dsl/element.rb

Instance Method Summary collapse

Instance Method Details

#element(name, options = {}, &block) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ae_page_objects/core/dsl/element.rb', line 18

def element(name, options = {}, &block)
  options = options.dup
  options[:name] ||= name

  klass   = field_klass(options, &block)
  
  self.element_attributes[name.to_sym] = klass

  define_method name do |&block|
    ElementProxy.new(klass, self, options, &block)
  end
  
  klass
end

#inherited(subclass) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/ae_page_objects/core/dsl/element.rb', line 8

def inherited(subclass)
  subclass.class_eval do
    class << self
      def element_attributes
        @element_attributes ||= {}
      end
    end
  end
end