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

#default_document_classObject



8
9
10
# File 'lib/ae_page_objects/document_loader.rb', line 8

def default_document_class
  @default_document_class ||= @query.conditions.first.document_class
end

#loadObject



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ae_page_objects/document_loader.rb', line 16

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 @strategy.document_not_loaded_error(self)
end

#permitted_types_dumpObject



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

def permitted_types_dump
  @permitted_types_dump ||= @query.conditions.map(&:document_class).map(&:name).inspect
end