Class: AePageObjects::DocumentProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/ae_page_objects/document_proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(loaded_page, document_loader) ⇒ DocumentProxy

Returns a new instance of DocumentProxy.



12
13
14
15
# File 'lib/ae_page_objects/document_proxy.rb', line 12

def initialize(loaded_page, document_loader)
  @loaded_page     = loaded_page
  @document_loader = document_loader
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object (private)



39
40
41
# File 'lib/ae_page_objects/document_proxy.rb', line 39

def method_missing(name, *args, &block)
  implicit_document.__send__(name, *args, &block)
end

Instance Method Details

#as_a(document_class) ⇒ Object

Raises:



21
22
23
24
25
26
27
# File 'lib/ae_page_objects/document_proxy.rb', line 21

def as_a(document_class)
  if @loaded_page.is_a?(document_class)
    return @loaded_page
  end

  raise DocumentLoadError, "#{document_class.name} not expected. Allowed types: #{@document_loader.permitted_types_dump}"
end

#is_a?(document_class) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/ae_page_objects/document_proxy.rb', line 17

def is_a?(document_class)
  super || @loaded_page.is_a?(document_class)
end