Class: RoadForest::RDF::FocusList
- Inherits:
-
RDF::List
- Object
- RDF::List
- RoadForest::RDF::FocusList
- Defined in:
- lib/roadforest/rdf/focus-list.rb
Instance Attribute Summary collapse
-
#base_node ⇒ Object
Returns the value of attribute base_node.
-
#root_url ⇒ Object
Returns the value of attribute root_url.
Instance Method Summary collapse
- #append(value) ⇒ Object (also: #<<)
- #append_node(subject = nil) ⇒ Object
- #car ⇒ Object
- #each ⇒ Object
- #first ⇒ Object
-
#source_rigor ⇒ Object
XXX Can delete?.
Instance Attribute Details
#base_node ⇒ Object
Returns the value of attribute base_node.
9 10 11 |
# File 'lib/roadforest/rdf/focus-list.rb', line 9 def base_node @base_node end |
#root_url ⇒ Object
Returns the value of attribute root_url.
9 10 11 |
# File 'lib/roadforest/rdf/focus-list.rb', line 9 def root_url @root_url end |
Instance Method Details
#append(value) ⇒ Object Also known as: <<
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/roadforest/rdf/focus-list.rb', line 30 def append(value) value = case value when nil then RDF.nil when RDF::Value then value when Array then RDF::List.new(nil, graph, value) else value end if empty? new_subject = subject #graph.insert([new_subject, RDF.type, RDF.List]) else old_subject, new_subject = last_subject, RDF::Node.new graph.delete([old_subject, RDF.rest, RDF.nil]) graph.insert([old_subject, RDF.rest, new_subject]) end graph.insert([new_subject, RDF.first, value.is_a?(RDF::List) ? value.subject : value]) graph.insert([new_subject, RDF.rest, RDF.nil]) self end |
#append_node(subject = nil) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/roadforest/rdf/focus-list.rb', line 54 def append_node(subject=nil) base_node.create_node(subject) do |node| append(node.subject) yield node if block_given? end end |
#car ⇒ Object
16 |
# File 'lib/roadforest/rdf/focus-list.rb', line 16 alias car first |
#each ⇒ Object
23 24 25 26 27 28 |
# File 'lib/roadforest/rdf/focus-list.rb', line 23 def each return to_enum unless block_given? super do |value| yield base_node.unwrap_value(value) end end |
#first ⇒ Object
19 20 21 |
# File 'lib/roadforest/rdf/focus-list.rb', line 19 def first at(0) end |
#source_rigor ⇒ Object
XXX Can delete?
12 13 14 |
# File 'lib/roadforest/rdf/focus-list.rb', line 12 def source_rigor graph.rigor end |