Class: AePageObjects::DocumentQuery
- Inherits:
-
Object
- Object
- AePageObjects::DocumentQuery
- Defined in:
- lib/ae_page_objects/document_query.rb
Defined Under Namespace
Classes: Condition
Instance Attribute Summary collapse
-
#conditions ⇒ Object
readonly
Returns the value of attribute conditions.
Instance Method Summary collapse
-
#initialize(*document_classes, &block) ⇒ DocumentQuery
constructor
A new instance of DocumentQuery.
- #matches(document_class, conditions = {}, &block_condition) ⇒ Object
Constructor Details
#initialize(*document_classes, &block) ⇒ DocumentQuery
Returns a new instance of DocumentQuery.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/ae_page_objects/document_query.rb', line 31 def initialize(*document_classes, &block) @conditions = [] if document_classes.empty? raise ArgumentError, "block expected" if block.nil? block.call(self) raise ArgumentError, "conditions expected" if @conditions.empty? else all_documents = document_classes.all? do |document_class| document_class.is_a?(Class) && document_class < Document end if all_documents if document_classes.size == 1 matches(document_classes.first, {}, &block) else raise ArgumentError, "block unexpected for multiple documents" unless block.nil? document_classes.each do |document_class| matches(document_class) end end else raise ArgumentError, "Expected (Document, document_options)" unless document_classes.size == 2 raise ArgumentError, "Expected (Document, document_options)" unless (document_classes.first < Document) && document_classes.last.is_a?(Hash) matches(document_classes.first, document_classes.last, &block) end end end |
Instance Attribute Details
#conditions ⇒ Object (readonly)
Returns the value of attribute conditions.
29 30 31 |
# File 'lib/ae_page_objects/document_query.rb', line 29 def conditions @conditions end |