Class: AePageObjects::DocumentLoader

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

Instance Method Summary collapse

Constructor Details

#initialize(query, strategy) ⇒ DocumentLoader

Returns a new instance of DocumentLoader.



3
4
5
6
# File 'lib/ae_page_objects/document_loader.rb', line 3

def initialize(query, strategy)
  @query    = query
  @strategy = strategy
end

Instance Method Details

#loadObject

Raises:



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ae_page_objects/document_loader.rb', line 8

def load
  begin
    AePageObjects.wait_until do
      @query.conditions.each do |document_condition|
        if document = @strategy.load_document_with_condition(document_condition)
          return document
        end
      end

      nil
    end
  rescue AePageObjects::WaitTimeoutError
  end

  raise DocumentLoadError, @strategy.document_not_loaded_error_message(@query)
end