Class: ActiveFedora::RDFDatastream::TermProxy
- Inherits:
-
Object
- Object
- ActiveFedora::RDFDatastream::TermProxy
show all
- Defined in:
- lib/active_fedora/rdf_datastream.rb
Instance Method Summary
(collapse)
Constructor Details
- (TermProxy) initialize(graph, predicate, values = [])
A new instance of TermProxy
112
113
114
115
116
|
# File 'lib/active_fedora/rdf_datastream.rb', line 112
def initialize(graph, predicate, values=[])
@graph = graph
@predicate = predicate
@values = values
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
- (Object) method_missing(method, *args)
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# File 'lib/active_fedora/rdf_datastream.rb', line 132
def method_missing(method, *args)
unless @values.respond_to?(method)
message = "undefined method `#{method.to_s}' for \"#{@values}\":#{@values.class.to_s}"
raise NoMethodError, message
end
if block_given?
@values.send(method, *args) { |*block_args| yield(*block_args) }
else
@values.send(method, *args)
end
end
|
Instance Method Details
- (Object) <<(*values)
117
118
119
120
121
122
|
# File 'lib/active_fedora/rdf_datastream.rb', line 117
def <<(*values)
@values.concat(values)
values.each { |value| @graph.add(@predicate, value, true) }
@graph.dirty = true
@values
end
|
- (Object) delete(*values)
123
124
125
126
127
128
129
130
131
|
# File 'lib/active_fedora/rdf_datastream.rb', line 123
def delete(*values)
values.each do |value|
unless @values.delete(value).nil?
@graph.delete(@predicate, value)
@graph.dirty = true
end
end
@values
end
|