Module: ActiveFedora::FedoraObject
- Included in:
- Model
- Defined in:
- lib/active_fedora/fedora_object.rb
Overview
This is a module replacing the ActiveFedora::Base class.
Instance Method Summary collapse
-
#add_datastream(datastream) ⇒ Object
Adds datastream to the object.
- #datastreams ⇒ Object
- #datastreams_xml ⇒ Object
-
#dc ⇒ Object
DC Datastream.
- #delete ⇒ Object
- #errors ⇒ Object
- #initialize ⇒ Object
- #inner_object ⇒ Object
- #owner_id ⇒ Object
- #pid ⇒ Object
-
#rels_ext ⇒ Object
RELS-EXT Datastream.
- #save ⇒ Object
- #state ⇒ Object
Instance Method Details
#add_datastream(datastream) ⇒ Object
Adds datastream to the object. Saves the datastream to fedora upon adding.
34 35 36 37 |
# File 'lib/active_fedora/fedora_object.rb', line 34 def add_datastream(datastream) datastream.pid = self.pid datastream.save end |
#datastreams ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/active_fedora/fedora_object.rb', line 20 def datastreams datastreams = {} self.datastreams_xml['datastream'].each do |ds| ds.merge!({:pid => self.pid, :dsID => ds["dsid"]}) datastreams.merge!({ds["dsid"] => ActiveFedora::Datastream.new(ds)}) end return datastreams end |
#datastreams_xml ⇒ Object
29 30 31 |
# File 'lib/active_fedora/fedora_object.rb', line 29 def datastreams_xml datastreams_xml = XmlSimple.xml_in(Fedora::Repository.instance.fetch_custom(self.pid, :datastreams)) end |
#dc ⇒ Object
DC Datastream
40 41 42 43 |
# File 'lib/active_fedora/fedora_object.rb', line 40 def dc #dc = REXML::Document.new(datastreams["DC"].content) return datastreams["DC"] end |
#delete ⇒ Object
16 17 18 |
# File 'lib/active_fedora/fedora_object.rb', line 16 def delete Fedora::Repository.instance.delete(@inner_object) end |
#errors ⇒ Object
70 71 72 |
# File 'lib/active_fedora/fedora_object.rb', line 70 def errors @inner_object.errors end |
#initialize ⇒ Object
7 8 9 10 |
# File 'lib/active_fedora/fedora_object.rb', line 7 def initialize @inner_object = Fedora::FedoraObject.new Fedora::Repository.instance.save @inner_object end |
#inner_object ⇒ Object
54 55 56 |
# File 'lib/active_fedora/fedora_object.rb', line 54 def inner_object @inner_object end |
#owner_id ⇒ Object
66 67 68 |
# File 'lib/active_fedora/fedora_object.rb', line 66 def owner_id @inner_object.owner_id end |
#pid ⇒ Object
58 59 60 |
# File 'lib/active_fedora/fedora_object.rb', line 58 def pid @inner_object.pid end |
#rels_ext ⇒ Object
RELS-EXT Datastream
46 47 48 49 50 51 52 |
# File 'lib/active_fedora/fedora_object.rb', line 46 def rels_ext if !datastreams.has_key?("RELS-EXT") add(ActiveFedora::RelsExtDatastream.new) end return datastreams["RELS-EXT"] end |
#save ⇒ Object
12 13 14 |
# File 'lib/active_fedora/fedora_object.rb', line 12 def save Fedora::Repository.instance.save(@inner_object) end |
#state ⇒ Object
62 63 64 |
# File 'lib/active_fedora/fedora_object.rb', line 62 def state @inner_object.state end |