Class: Mrt::Ingest::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/mrt/ingest/request.rb

Overview

Represents a request to be sent to an ingest server.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Request

Options is a hash; required are :profile, :submitter, :type. May also include :creator, :date, :digest, :file, :filename, :local_identifier, :primary_identifier, :note, :title.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/mrt/ingest/request.rb', line 18

def initialize(options)
  @creator = options[:creator]
  @date = options[:date]
  @digest = options[:digest]
  @file = options[:file]
  @filename = options[:filename]
  @local_identifier = options[:local_identifier]
  @primary_identifier = options[:primary_identifier]
  @profile = options[:profile]
  @note = options[:note]
  @submitter = options[:submitter]
  @title = options[:title]
  @type = options[:type]
  [:profile, :submitter, :type].each do |arg|
    raise RequestException.new("#{arg} is required.") if options[arg].nil?
  end
end

Instance Attribute Details

#creatorObject

Returns the value of attribute creator.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def creator
  @creator
end

#dateObject

Returns the value of attribute date.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def date
  @date
end

#local_identifierObject

Returns the value of attribute local_identifier.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def local_identifier
  @local_identifier
end

#noteObject

Returns the value of attribute note.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def note
  @note
end

#primary_identifierObject

Returns the value of attribute primary_identifier.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def primary_identifier
  @primary_identifier
end

#profileObject

Returns the value of attribute profile.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def profile
  @profile
end

#submitterObject

Returns the value of attribute submitter.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def submitter
  @submitter
end

#titleObject

Returns the value of attribute title.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def title
  @title
end

#typeObject

Returns the value of attribute type.



11
12
13
# File 'lib/mrt/ingest/request.rb', line 11

def type
  @type
end

Instance Method Details

#mk_argsObject

Returns a hash of arguments suitable for sending to a server.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/mrt/ingest/request.rb', line 37

def mk_args
  return {
    'creator'           => @creator,
    'date'              => @date,
    'digestType'        => ((!@digest.nil? && @digest.type) || nil),
    'digestValue'       => ((!@digest.nil? && @digest.value) || nil),
    'file'              => @file,
    'filename'          => @filename,
    'localIdentifier'   => @local_identifier,
    'primaryIdentifier' => @primary_identifier,
    'profile'           => @profile,
    'note'              => @note,
    'responseForm'      => 'json',
    'submitter'         => @submitter,
    'title'             => @title,
    'type'              => @type
  }.reject{|k, v| v.nil? || (v == '')}
end