class ActiveFedora::RdfDatastreamAttribute
def reader(obj)
-
obj
(ActiveFedora::Base
) -- the object that has the attribute
def reader(obj) node = file_for_attribute(obj, delegate_target) term = if at vals = at.dup while vals.length > 1 node = node.send(vals.shift) node = if node.empty? node.build else node.first end end vals.first else field end node.send(term) end
def writer(obj, v)
-
v
(Object
) -- value to write to the attribute -
obj
(ActiveFedora::Base
) -- the object that has the attribute
def writer(obj, v) node = file_for_attribute(obj, delegate_target) obj.mark_as_changed(field) if obj.value_has_changed?(field, v) term = if at vals = at.dup while vals.length > 1 node = node.send(vals.shift) node = node.build if node.empty? node = node.first end vals.first else field end node.send("#{term}=", v) end