class AePageObjects::DocumentQuery
Attributes
conditions[R]
Public Class Methods
new(*document_classes, &block)
click to toggle source
# 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
Public Instance Methods
default_document_class()
click to toggle source
# File lib/ae_page_objects/document_query.rb, line 68 def default_document_class conditions.first.document_class end
matches(document_class, conditions = {}, &block_condition)
click to toggle source
# File lib/ae_page_objects/document_query.rb, line 64 def matches(document_class, conditions = {}, &block_condition) @conditions << Condition.new(document_class, conditions, &block_condition) end
permitted_types_dump()
click to toggle source
# File lib/ae_page_objects/document_query.rb, line 72 def permitted_types_dump conditions.map(&:document_class).map(&:name).inspect end