Sha256: cd9cf695c16046d7bf656eaa6f131c18b7cdb5d095c4c1f1baca887131a90d39

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

require 'fedora/base'
require 'fedora/repository'

class Fedora::Datastream < Fedora::BaseObject
  
  attr_accessor :mime_type
  
  def initialize(attrs = {})
    super
    if attrs
      if attrs[:mime_type] 
        self.mime_type = attrs[:mime_type]
      elsif attrs[:mimeType] 
        self.mime_type = attrs[:mimeType]
      end 
    end
    self.control_group='M' if @attributes[:mimeType]
  end
  
  def pid
    attributes[:pid]
  end

  def control_group
    @attributes[:controlGroup]
  end
  def control_group=(cg)
    @attributes[:controlGroup]=cg
  end
  
  def dsid
    if attributes.has_key?(:dsid) 
      attributes[:dsid]
    else
      attributes[:dsID]
    end
  end
  
  def label
    @attributes[:dsLabel]
  end
  
  def label=(new_label)
    @attributes[:dsLabel] = new_label
  end
  
  # See http://www.fedora.info/definitions/identifiers/
  def uri
    "fedora:info/#{pid}/datastreams/#{dsid}"
  end
  
  # @return [String] url of the datastream in Fedora, without the repository userinfo
  def url
    return "#{Fedora::Repository.instance.base_url}/objects/#{pid}/datastreams/#{dsid}"
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
active-fedora-2.3.1 lib/fedora/datastream.rb
active-fedora-2.3.0 lib/fedora/datastream.rb
active-fedora-2.2.3 lib/fedora/datastream.rb
active-fedora-2.2.2 lib/fedora/datastream.rb
active-fedora-2.2.1 lib/fedora/datastream.rb