Class: Fedora::Datastream

Inherits:
BaseObject show all
Defined in:
lib/fedora/datastream.rb

Direct Known Subclasses

ActiveFedora::Datastream

Instance Attribute Summary

Attributes inherited from BaseObject

#attributes, #blob, #errors, #new_object

Instance Method Summary collapse

Methods inherited from BaseObject

#[], #new_object?

Constructor Details

#initialize(attrs = {}) ⇒ Datastream

Returns a new instance of Datastream.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/fedora/datastream.rb', line 7

def initialize(attrs = {})
  super
  if attrs
    if attrs[:mime_type]
      self.mime_type = attrs[:mime_type]
    elsif attrs[:mimeType]
      self.mime_type = attrs[:mimeType]
    elsif attrs["mimeType"]
      self.mime_type = attrs["mimeType"]
    elsif attrs["mime_type"]
      self.mime_type = attrs["mime_type"]
    end 
  end
  self.control_group='M' if @attributes[:mimeType]
end

Instance Method Details

#control_groupObject



27
28
29
# File 'lib/fedora/datastream.rb', line 27

def control_group
  @attributes[:controlGroup]
end

#control_group=(cg) ⇒ Object



30
31
32
# File 'lib/fedora/datastream.rb', line 30

def control_group=(cg)
  @attributes[:controlGroup]=cg
end

#dsidObject



34
35
36
37
38
39
40
# File 'lib/fedora/datastream.rb', line 34

def dsid
  if attributes.has_key?(:dsid) 
    attributes[:dsid]
  else
    attributes[:dsID]
  end
end

#labelObject



42
43
44
# File 'lib/fedora/datastream.rb', line 42

def label
  @attributes[:dsLabel]
end

#label=(new_label) ⇒ Object



46
47
48
# File 'lib/fedora/datastream.rb', line 46

def label=(new_label)
  @attributes[:dsLabel] = new_label
end

#mime_typeObject



50
51
52
# File 'lib/fedora/datastream.rb', line 50

def mime_type
  @mime_type
end

#mime_type=(new_mime_type) ⇒ Object



54
55
56
# File 'lib/fedora/datastream.rb', line 54

def mime_type=(new_mime_type)
  @mime_type =  new_mime_type
end

#pidObject



23
24
25
# File 'lib/fedora/datastream.rb', line 23

def pid
  attributes[:pid]
end

#uriObject



59
60
61
# File 'lib/fedora/datastream.rb', line 59

def uri
  "fedora:info/#{pid}/datastreams/#{dsid}"
end

#urlString

Returns url of the datastream in Fedora, without the repository userinfo.

Returns:

  • (String)

    url of the datastream in Fedora, without the repository userinfo



64
65
66
# File 'lib/fedora/datastream.rb', line 64

def url
  return "#{Fedora::Repository.instance.base_url}/objects/#{pid}/datastreams/#{dsid}"
end