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
# File 'lib/ae_page_objects/document_loader.rb', line 8

def load
  Waiter.wait_for do
    @query.conditions.each do |document_condition|
      if document = @strategy.load_document_with_condition(document_condition)
        return document
      end
    end

    nil
  end

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