class AePageObjects::DocumentProxy
Public Class Methods
new(loaded_page, query)
click to toggle source
# File lib/ae_page_objects/document_proxy.rb, line 12 def initialize(loaded_page, query) @loaded_page = loaded_page @query = query end
Public Instance Methods
as_a(document_class)
click to toggle source
# 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 CastError, "Loaded page is not a #{document_class.name}. Allowed pages: #{@query.permitted_types_dump}" end
is_a?(document_class)
click to toggle source
Calls superclass method
# File lib/ae_page_objects/document_proxy.rb, line 17 def is_a?(document_class) super || @loaded_page.is_a?(document_class) end
Private Instance Methods
implicit_document()
click to toggle source
# File lib/ae_page_objects/document_proxy.rb, line 31 def implicit_document if @loaded_page.is_a? @query.default_document_class @loaded_page else raise CastError, "#{@query.default_document_class} expected, but #{@loaded_page.class} loaded" end end
method_missing(name, *args, **kwargs, &block)
click to toggle source
# File lib/ae_page_objects/document_proxy.rb, line 39 def method_missing(name, *args, **kwargs, &block) implicit_document.__send__(name, *args, **kwargs, &block) end
respond_to_missing?(*args)
click to toggle source
Calls superclass method
# File lib/ae_page_objects/document_proxy.rb, line 43 def respond_to_missing?(*args) super || implicit_document.respond_to?(*args) end