class ActiveFedora::Crosswalks::Accessors::GenericAccessor
Attributes
datastream[RW]
field[RW]
Public Class Methods
new(datastream, field)
click to toggle source
Calls superclass method
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 6 def self.new(datastream, field) if self.to_s.include?("GenericAccessor") if datastream.kind_of?(ActiveFedora::RelsExtDatastream) return RelsExtAccessor.new(datastream, field) end if datastream.kind_of?(ActiveFedora::OmDatastream) return OmAccessor.new(datastream, field) end end super end
new(datastream, field)
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 17 def initialize(datastream, field) @datastream = datastream @field = field end
Public Instance Methods
get_reader()
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 21 def get_reader return datastream, field, nil end
get_value()
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 27 def get_value FieldProxy.new(Array.wrap(datastream.send(field.to_s)), self, field) end
get_writer()
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 24 def get_writer return datastream, "#{self.field}=", nil end
original_get_value()
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 30 def original_get_value if datastream.respond_to?("unstubbed_#{self.field}") FieldProxy.new(Array.wrap(datastream.send("unstubbed_#{self.field}")), self, field) else get_value end end
original_set_value(*args)
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 41 def original_set_value(*args) value = args.last if datastream.respond_to?("unstubbed_#{self.field}=") datastream.send("unstubbed_#{self.field}=",value) else set_value(value) end end
set_value(*args)
click to toggle source
# File lib/active_fedora/crosswalks/accessors/generic_accessor.rb, line 37 def set_value(*args) value = args.last datastream.send("#{field.to_s}=",value) end