class Yarrow::Web::IndexDocument
Public Class Methods
new(collection, item=nil, is_index=false)
click to toggle source
Represents the index document of a collection. This contains a reference to the individual items in the collection as well as any document content itself.
# File lib/yarrow/web/document.rb, line 80 def initialize(collection, item=nil, is_index=false) @collection = collection @item = item # The parent node of the collection is the first incoming node link @parent = collection.in(:collection).first @is_index = is_index template_map = collection.out_e(:child).to.all.inject([]) do |result, node| result << Document.new(node, false) end instance_variable_set("@children", template_map) define_singleton_method(:children){ template_map } if @item.nil? @resource = collection.props[:resource] @type = collection.props[:type] @node = collection else @resource = item.props[:resource] @type = item.props[:type] @node = item end instance_variable_set("@#{@type}", @resource) define_singleton_method(@type){ @resource } end