Module: DocumentBuilder::Collection
- Defined in:
- lib/document_builder/collection.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/document_builder/collection.rb', line 23 def self.included(base) base.extend(ClassMethods) base.class_eval do include Model include Enumerable end end |
Instance Method Details
#collection ⇒ Object
31 32 33 |
# File 'lib/document_builder/collection.rb', line 31 def collection self.class.instance_variable_get(:@collection) end |
#data ⇒ Object
43 44 45 |
# File 'lib/document_builder/collection.rb', line 43 def data lazy end |
#each(&block) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/document_builder/collection.rb', line 35 def each(&block) document.xpath(collection.xpath).each do |item| block.call( collection.call(item) ) end end |
#inspect ⇒ Object
47 48 49 |
# File 'lib/document_builder/collection.rb', line 47 def inspect "#<#{self.class}:0x#{self.object_id.to_s(16)}> { data: #{data} } }" end |
#to_hash ⇒ Object
51 52 53 |
# File 'lib/document_builder/collection.rb', line 51 def to_hash { data: data } end |