lyber-core 0.9.6.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +18 -0
- data/lib/dlss_service.rb +0 -1
- data/lib/dor_service.rb +125 -72
- data/lib/lyber_core.rb +6 -3
- data/lib/lyber_core/config.rb +13 -0
- data/lib/lyber_core/connection.rb +34 -1
- data/lib/lyber_core/destroyer.rb +0 -1
- data/lib/lyber_core/exceptions/chained_error.rb +21 -0
- data/lib/lyber_core/exceptions/fatal_error.rb +10 -0
- data/lib/lyber_core/exceptions/item_error.rb +19 -0
- data/lib/lyber_core/exceptions/service_error.rb +10 -0
- data/lib/lyber_core/log.rb +17 -4
- data/lib/lyber_core/robots/robot.rb +185 -66
- data/lib/lyber_core/robots/service_controller.rb +174 -0
- data/lib/lyber_core/robots/work_item.rb +24 -15
- data/lib/lyber_core/robots/work_queue.rb +27 -4
- data/lib/lyber_core/robots/workspace.rb +2 -2
- data/lib/lyber_core/utils/checksum_validate.rb +1 -1
- data/lib/lyber_core/utils/file_utilities.rb +10 -10
- data/lib/xml_models/identity_metadata/dublin_core.rb +116 -0
- data/lib/xml_models/identity_metadata/identity_metadata.rb +264 -0
- metadata +338 -249
- checksums.yaml +0 -15
- data/lib/dor/base.rb +0 -18
- data/lib/dor/suri_service.rb +0 -28
- data/lib/dor/workflow_service.rb +0 -112
- data/lib/lyber_core/rake/dlss_release.rb +0 -126
- data/lib/roxml_models/identity_metadata/dublin_core.rb +0 -46
- data/lib/roxml_models/identity_metadata/identity_metadata.rb +0 -118
@@ -0,0 +1,264 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
#<identityMetadata>
|
3
|
+
# <objectId>druid:rt923jk342</objectId>
|
4
|
+
# <objectType>item</objectType>
|
5
|
+
# <objectLabel>google download barcode 36105049267078</objectLabel>
|
6
|
+
# <objectCreator>DOR</objectCreator>
|
7
|
+
# <citationTitle>Squirrels of North America</citationTitle>
|
8
|
+
# <citationCreator>Eder, Tamara, 1974-</citationCreator>
|
9
|
+
# <sourceId source="google">STANFORD_342837261527</sourceId>
|
10
|
+
# <otherId name="barcode">342837261527</otherId>
|
11
|
+
# <otherId name="catkey">129483625</otherId>
|
12
|
+
# <otherId name="uuid">7f3da130-7b02-11de-8a39-0800200c9a66</otherId>
|
13
|
+
# <agreementId>druid:yh72ms9133</agreementId>
|
14
|
+
# <tag>Google Books : Phase 1</tag>
|
15
|
+
# <tag>Google Books : Scan source STANFORD</tag>
|
16
|
+
#</identityMetadata>
|
17
|
+
|
18
|
+
|
19
|
+
# this just maps the #value method to return the "text", "source", "name" values form the hash
|
20
|
+
class SourceId
|
21
|
+
attr_accessor :source
|
22
|
+
attr_accessor :value
|
23
|
+
|
24
|
+
def xml_values
|
25
|
+
[self.value, {:source => self.source}]
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_s
|
29
|
+
"#{self.source}:#{self.value}"
|
30
|
+
end
|
31
|
+
|
32
|
+
def empty?
|
33
|
+
(self.source.nil? || self.source.empty?) && (self.value.nil? || self.value.empty?)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
class OtherId
|
39
|
+
attr_accessor :name
|
40
|
+
attr_accessor :value
|
41
|
+
|
42
|
+
def xml_values
|
43
|
+
[self.value, {:name => self.name}]
|
44
|
+
end
|
45
|
+
|
46
|
+
def to_s
|
47
|
+
"#{self.name}:#{self.value}"
|
48
|
+
end
|
49
|
+
|
50
|
+
def empty?
|
51
|
+
(self.name.nil? || self.name.empty?) && (self.value.nil? || self.value.empty?)
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
class Tag
|
57
|
+
attr_accessor :value
|
58
|
+
|
59
|
+
def xml_values
|
60
|
+
[self.value]
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
class IdentityMetadata
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
# these are single values
|
70
|
+
attr_accessor :objectId
|
71
|
+
attr_reader :sourceId, :tags
|
72
|
+
# these instance vars map to nodes in the identityMetadata XML
|
73
|
+
attr_accessor :objectTypes, :objectLabels, :objectCreators, :citationCreators, :citationTitle,
|
74
|
+
:otherIds, :agreementIds, :objectAdminClass
|
75
|
+
# this stores the xml string
|
76
|
+
attr_accessor :xml
|
77
|
+
|
78
|
+
|
79
|
+
def initialize(xml = nil)
|
80
|
+
|
81
|
+
@objectId, @citationTitle, @objectAdminClass = "", "", "" #there can only be one of these values
|
82
|
+
@sourceId = SourceId.new #there can be only one.
|
83
|
+
@otherIds, @tags = [], [] # this is an array that will be filled with OtherId and Tag objects
|
84
|
+
@objectTypes, @objectLabels, @objectCreators, @citationCreators, @agreementIds = [], [], [], [], [], []
|
85
|
+
|
86
|
+
|
87
|
+
# if the new is given an xml string, store that in the xml attr_accessor and don't rebuild.
|
88
|
+
# this will allow users to access the raw unprocessed XML string via @xml.
|
89
|
+
if xml.nil?
|
90
|
+
build_xml()
|
91
|
+
else
|
92
|
+
@xml = xml
|
93
|
+
end
|
94
|
+
end #def init
|
95
|
+
|
96
|
+
#this builds the xml based on the instance variables in the object. If it's a hash, this assumes that we want to
|
97
|
+
#use attributes ==> {"text"=> "7f3da130-7b02-11de-8a39-0800200c9a66", "name" => "uuid" }. If the instance var is
|
98
|
+
# an array, we assume we don't need attrs, so all values get put into the text node.
|
99
|
+
def build_xml()
|
100
|
+
builder = Nokogiri::XML::Builder.new do |xml|
|
101
|
+
xml.identityMetadata {
|
102
|
+
self.instance_variables.each do |var_name|
|
103
|
+
unless var_name == "@xml"
|
104
|
+
var = self.instance_variable_get(var_name)
|
105
|
+
tag_name = var_name[1..-1]
|
106
|
+
if var.is_a?(Array)
|
107
|
+
tag_name.chomp!('s')
|
108
|
+
end
|
109
|
+
# wrap the singleton properties in a one-element array
|
110
|
+
var = [var] unless var.respond_to?(:each)
|
111
|
+
var.each do |v|
|
112
|
+
if v.respond_to?(:xml_values)
|
113
|
+
unless (v.respond_to?(:empty?) && v.empty?)
|
114
|
+
xml.send(tag_name, *(v.xml_values))
|
115
|
+
end
|
116
|
+
else
|
117
|
+
xml.send(tag_name, v.to_s)
|
118
|
+
end
|
119
|
+
end #var.each
|
120
|
+
end #unless
|
121
|
+
end #instance_variables.each
|
122
|
+
}
|
123
|
+
end
|
124
|
+
@xml = builder.to_xml
|
125
|
+
end
|
126
|
+
|
127
|
+
# This method rebuilds the xml attr_accesor and returns it as a string.
|
128
|
+
def to_xml
|
129
|
+
build_xml
|
130
|
+
return self.xml
|
131
|
+
end #to_xml
|
132
|
+
|
133
|
+
#
|
134
|
+
# The following methods are convience methods
|
135
|
+
#
|
136
|
+
|
137
|
+
|
138
|
+
# Add a new tag to the IdentityMetadata instance
|
139
|
+
def add_tag(new_tag_value)
|
140
|
+
# Make sure tag is not already present
|
141
|
+
unless self.get_tags.include?(new_tag_value)
|
142
|
+
tag = Tag.new
|
143
|
+
tag.value = new_tag_value
|
144
|
+
self.tags << tag
|
145
|
+
end
|
146
|
+
return self.get_tags
|
147
|
+
end
|
148
|
+
|
149
|
+
alias :tag :add_tag
|
150
|
+
|
151
|
+
# Returns an array of tag values
|
152
|
+
def get_tags()
|
153
|
+
self.tags.collect { |t| t.value }
|
154
|
+
end
|
155
|
+
|
156
|
+
# Convenience method to return the first agreementId. There's usually only one.
|
157
|
+
# Returns nil if there are no agreementIds.
|
158
|
+
def agreementId
|
159
|
+
@agreementIds.first
|
160
|
+
end
|
161
|
+
|
162
|
+
|
163
|
+
# Return the OtherId hash for the specified identier name
|
164
|
+
def get_other_id(name)
|
165
|
+
self.otherIds.each do |oi|
|
166
|
+
if oi.name == name
|
167
|
+
return oi
|
168
|
+
end
|
169
|
+
end
|
170
|
+
return nil
|
171
|
+
end
|
172
|
+
|
173
|
+
# Return the identifier value for the specified identier name
|
174
|
+
def get_identifier_value(key)
|
175
|
+
other_id = self.get_other_id(key)
|
176
|
+
if other_id != nil && other_id.value != nil
|
177
|
+
return other_id.value
|
178
|
+
end
|
179
|
+
raise "No #{key} indentifier found for druid #{@objectId}"
|
180
|
+
end
|
181
|
+
|
182
|
+
# Add a new name,value pair to the set of identifiers
|
183
|
+
def add_identifier(*args)
|
184
|
+
(key,value) = args
|
185
|
+
if value.nil? and key =~ /:/
|
186
|
+
(key,value) = key.split(/:/,2)
|
187
|
+
end
|
188
|
+
|
189
|
+
other_id = self.get_other_id(key)
|
190
|
+
if (other_id != nil)
|
191
|
+
other_id.value = value
|
192
|
+
else
|
193
|
+
other_id = OtherId.new
|
194
|
+
other_id.name = key
|
195
|
+
other_id.value = value
|
196
|
+
self.otherIds << other_id
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
def sourceId=(*args)
|
201
|
+
(source,value) = args
|
202
|
+
if value.nil? and source =~ /:/
|
203
|
+
(source,value) = source.split(/:/,2)
|
204
|
+
end
|
205
|
+
|
206
|
+
self.sourceId.source = source
|
207
|
+
self.sourceId.value = value
|
208
|
+
end
|
209
|
+
|
210
|
+
# Return an array of strings where each entry consists of name:value
|
211
|
+
def get_id_pairs
|
212
|
+
pairs=Array.new
|
213
|
+
self.otherIds.collect do |other_id|
|
214
|
+
other_id.to_s
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
#another convience method to allow citationCreator=
|
219
|
+
def citationCreator=(creator)
|
220
|
+
if creator.is_a?(Array)
|
221
|
+
self.citationCreators = creator
|
222
|
+
elsif creator.is_a?(String)
|
223
|
+
self.citationCreators = [creator]
|
224
|
+
else
|
225
|
+
raise "Identity_metadata.citationCreator requires either a string or array. "
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
#takes a string of XML and constructs the object with all the instance variables added to the correct location.
|
230
|
+
def self.from_xml(xml="")
|
231
|
+
if xml.is_a?(File)
|
232
|
+
xml = xml.read
|
233
|
+
end
|
234
|
+
|
235
|
+
im = self.new(xml)
|
236
|
+
doc = Nokogiri::XML(xml)
|
237
|
+
|
238
|
+
children = doc.root.element_children #iterate through the nodes and map them to instance vars in the object.
|
239
|
+
children.each do |c|
|
240
|
+
if im.instance_variables.include?("@#{c.name}") or im.instance_variables.include?("@#{c.name}s")
|
241
|
+
if c.name == "sourceId" #SourceID already has a SourceID object made
|
242
|
+
im.sourceId.source = c["source"]
|
243
|
+
im.sourceId.value = c.text.strip
|
244
|
+
elsif c.name == "otherId" #otherID needs to be cast as an object and stored in an array
|
245
|
+
im.add_identifier(c['name'],c.text.strip)
|
246
|
+
elsif c.name == "tag" #tags also need to have objects created and stored in an array
|
247
|
+
im.add_tag(c.text.strip)
|
248
|
+
elsif c.name == "objectId" # objectId needs to be mapped to objectId attr_access
|
249
|
+
im.objectId = c.text.strip
|
250
|
+
elsif c.name == "citationTitle" #citationTitle also needs to be mapped to citationTitle attr_accessor
|
251
|
+
im.citationTitle = c.text.strip
|
252
|
+
elsif c.name == "objectAdminClass" #objectAdminClass also needs to be mapped to objectAdminClass attr_accessor
|
253
|
+
im.objectAdminClass = c.text.strip
|
254
|
+
else # everything else gets put into an attr_accessor array (note the added 's' on the attr_accessor.)
|
255
|
+
im.send("#{c.name}s").send("<<", c.text.strip)
|
256
|
+
end #if
|
257
|
+
end #if
|
258
|
+
end #each
|
259
|
+
|
260
|
+
return im
|
261
|
+
|
262
|
+
end #from_xml
|
263
|
+
|
264
|
+
end #class IdentityMetadata
|
metadata
CHANGED
@@ -1,328 +1,417 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: lyber-core
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 1.3.0
|
5
11
|
platform: ruby
|
6
|
-
authors:
|
12
|
+
authors:
|
7
13
|
- Alpana Pande
|
8
14
|
- Bess Sadler
|
9
15
|
- Chris Fitzpatrick
|
10
16
|
- Douglas Kim
|
11
17
|
- Richard Anderson
|
12
18
|
- Willy Mene
|
19
|
+
- Michael Klein
|
13
20
|
autorequire:
|
14
21
|
bindir: bin
|
15
22
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
|
24
|
+
date: 2011-07-21 00:00:00 -07:00
|
25
|
+
default_executable:
|
26
|
+
dependencies:
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
hash: 3
|
34
|
+
segments:
|
35
|
+
- 0
|
36
|
+
version: "0"
|
26
37
|
prerelease: false
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
+
type: :runtime
|
39
|
+
requirement: *id001
|
40
|
+
name: actionpack
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
hash: 19
|
48
|
+
segments:
|
49
|
+
- 1
|
50
|
+
- 2
|
51
|
+
- 6
|
38
52
|
version: 1.2.6
|
53
|
+
prerelease: false
|
39
54
|
type: :runtime
|
55
|
+
requirement: *id002
|
56
|
+
name: active-fedora
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
hash: 3
|
64
|
+
segments:
|
65
|
+
- 0
|
66
|
+
version: "0"
|
40
67
|
prerelease: false
|
41
|
-
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
requirements:
|
43
|
-
- - '='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 1.2.6
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: bagit
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
requirements:
|
50
|
-
- - ! '>='
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 0.1.0
|
53
68
|
type: :runtime
|
69
|
+
requirement: *id003
|
70
|
+
name: daemons
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 19
|
78
|
+
segments:
|
79
|
+
- 0
|
80
|
+
- 3
|
81
|
+
- 0
|
82
|
+
version: 0.3.0
|
54
83
|
prerelease: false
|
55
|
-
version_requirements: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - ! '>='
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: 0.1.0
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: nokogiri
|
62
|
-
requirement: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - '='
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 1.4.3.1
|
67
84
|
type: :runtime
|
85
|
+
requirement: *id004
|
86
|
+
name: dor-services
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
hash: 27
|
94
|
+
segments:
|
95
|
+
- 0
|
96
|
+
- 1
|
97
|
+
- 0
|
98
|
+
version: 0.1.0
|
68
99
|
prerelease: false
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - '='
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 1.4.3.1
|
74
|
-
- !ruby/object:Gem::Dependency
|
75
|
-
name: roxml
|
76
|
-
requirement: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - <=
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 3.1.5
|
81
100
|
type: :runtime
|
101
|
+
requirement: *id005
|
102
|
+
name: bagit
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - "="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
hash: 113
|
110
|
+
segments:
|
111
|
+
- 1
|
112
|
+
- 4
|
113
|
+
- 3
|
114
|
+
- 1
|
115
|
+
version: 1.4.3.1
|
82
116
|
prerelease: false
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
117
|
+
type: :runtime
|
118
|
+
requirement: *id006
|
119
|
+
name: nokogiri
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 15
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
- 0
|
130
|
+
- 8
|
94
131
|
version: 0.0.8
|
132
|
+
prerelease: false
|
95
133
|
type: :runtime
|
134
|
+
requirement: *id007
|
135
|
+
name: solr-ruby
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
hash: 17
|
143
|
+
segments:
|
144
|
+
- 0
|
145
|
+
- 3
|
146
|
+
- 1
|
147
|
+
version: 0.3.1
|
96
148
|
prerelease: false
|
97
|
-
version_requirements: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: 0.0.8
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: solrizer
|
104
|
-
requirement: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - ~>
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '1.1'
|
109
149
|
type: :runtime
|
150
|
+
requirement: *id008
|
151
|
+
name: solrizer
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
hash: 3
|
159
|
+
segments:
|
160
|
+
- 0
|
161
|
+
version: "0"
|
110
162
|
prerelease: false
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
163
|
+
type: :runtime
|
164
|
+
requirement: *id009
|
165
|
+
name: stomp
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
168
|
+
none: false
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
hash: 31
|
173
|
+
segments:
|
174
|
+
- 1
|
175
|
+
- 2
|
176
|
+
- 0
|
122
177
|
version: 1.2.0
|
178
|
+
prerelease: false
|
123
179
|
type: :runtime
|
180
|
+
requirement: *id010
|
181
|
+
name: systemu
|
182
|
+
- !ruby/object:Gem::Dependency
|
183
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
hash: 3
|
189
|
+
segments:
|
190
|
+
- 0
|
191
|
+
version: "0"
|
124
192
|
prerelease: false
|
125
|
-
version_requirements: !ruby/object:Gem::Requirement
|
126
|
-
requirements:
|
127
|
-
- - ! '>='
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
version: 1.2.0
|
130
|
-
- !ruby/object:Gem::Dependency
|
131
|
-
name: validatable
|
132
|
-
requirement: !ruby/object:Gem::Requirement
|
133
|
-
requirements:
|
134
|
-
- - ! '>='
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: '0'
|
137
193
|
type: :runtime
|
194
|
+
requirement: *id011
|
195
|
+
name: validatable
|
196
|
+
- !ruby/object:Gem::Dependency
|
197
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
198
|
+
none: false
|
199
|
+
requirements:
|
200
|
+
- - ">="
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
hash: 3
|
203
|
+
segments:
|
204
|
+
- 0
|
205
|
+
version: "0"
|
138
206
|
prerelease: false
|
139
|
-
version_requirements: !ruby/object:Gem::Requirement
|
140
|
-
requirements:
|
141
|
-
- - ! '>='
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: '0'
|
144
|
-
- !ruby/object:Gem::Dependency
|
145
|
-
name: fakeweb
|
146
|
-
requirement: !ruby/object:Gem::Requirement
|
147
|
-
requirements:
|
148
|
-
- - ! '>='
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: '0'
|
151
207
|
type: :development
|
208
|
+
requirement: *id012
|
209
|
+
name: fakeweb
|
210
|
+
- !ruby/object:Gem::Dependency
|
211
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
212
|
+
none: false
|
213
|
+
requirements:
|
214
|
+
- - ">="
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
hash: 3
|
217
|
+
segments:
|
218
|
+
- 0
|
219
|
+
version: "0"
|
152
220
|
prerelease: false
|
153
|
-
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
requirements:
|
155
|
-
- - ! '>='
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '0'
|
158
|
-
- !ruby/object:Gem::Dependency
|
159
|
-
name: haml
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
161
|
-
requirements:
|
162
|
-
- - ! '>='
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
version: '0'
|
165
221
|
type: :development
|
222
|
+
requirement: *id013
|
223
|
+
name: haml
|
224
|
+
- !ruby/object:Gem::Dependency
|
225
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
226
|
+
none: false
|
227
|
+
requirements:
|
228
|
+
- - ">="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
hash: 25
|
231
|
+
segments:
|
232
|
+
- 0
|
233
|
+
- 1
|
234
|
+
- 1
|
235
|
+
version: 0.1.1
|
166
236
|
prerelease: false
|
167
|
-
version_requirements: !ruby/object:Gem::Requirement
|
168
|
-
requirements:
|
169
|
-
- - ! '>='
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
version: '0'
|
172
|
-
- !ruby/object:Gem::Dependency
|
173
|
-
name: pony
|
174
|
-
requirement: !ruby/object:Gem::Requirement
|
175
|
-
requirements:
|
176
|
-
- - ! '>='
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
version: '0'
|
179
237
|
type: :development
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
238
|
+
requirement: *id014
|
239
|
+
name: lyberteam-devel
|
240
|
+
- !ruby/object:Gem::Dependency
|
241
|
+
version_requirements: &id015 !ruby/object:Gem::Requirement
|
242
|
+
none: false
|
243
|
+
requirements:
|
244
|
+
- - ">="
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
hash: 49
|
247
|
+
segments:
|
248
|
+
- 0
|
249
|
+
- 8
|
250
|
+
- 7
|
192
251
|
version: 0.8.7
|
193
|
-
type: :development
|
194
252
|
prerelease: false
|
195
|
-
version_requirements: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - ! '>='
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: 0.8.7
|
200
|
-
- !ruby/object:Gem::Dependency
|
201
|
-
name: rcov
|
202
|
-
requirement: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - ! '>='
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '0'
|
207
253
|
type: :development
|
254
|
+
requirement: *id015
|
255
|
+
name: rake
|
256
|
+
- !ruby/object:Gem::Dependency
|
257
|
+
version_requirements: &id016 !ruby/object:Gem::Requirement
|
258
|
+
none: false
|
259
|
+
requirements:
|
260
|
+
- - ">="
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
hash: 3
|
263
|
+
segments:
|
264
|
+
- 0
|
265
|
+
version: "0"
|
208
266
|
prerelease: false
|
209
|
-
version_requirements: !ruby/object:Gem::Requirement
|
210
|
-
requirements:
|
211
|
-
- - ! '>='
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: '0'
|
214
|
-
- !ruby/object:Gem::Dependency
|
215
|
-
name: rdoc
|
216
|
-
requirement: !ruby/object:Gem::Requirement
|
217
|
-
requirements:
|
218
|
-
- - ! '>='
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
version: '0'
|
221
267
|
type: :development
|
268
|
+
requirement: *id016
|
269
|
+
name: rcov
|
270
|
+
- !ruby/object:Gem::Dependency
|
271
|
+
version_requirements: &id017 !ruby/object:Gem::Requirement
|
272
|
+
none: false
|
273
|
+
requirements:
|
274
|
+
- - ">="
|
275
|
+
- !ruby/object:Gem::Version
|
276
|
+
hash: 3
|
277
|
+
segments:
|
278
|
+
- 0
|
279
|
+
version: "0"
|
222
280
|
prerelease: false
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
requirement: !ruby/object:Gem::Requirement
|
231
|
-
requirements:
|
281
|
+
type: :development
|
282
|
+
requirement: *id017
|
283
|
+
name: rdoc
|
284
|
+
- !ruby/object:Gem::Dependency
|
285
|
+
version_requirements: &id018 !ruby/object:Gem::Requirement
|
286
|
+
none: false
|
287
|
+
requirements:
|
232
288
|
- - <
|
233
|
-
- !ruby/object:Gem::Version
|
234
|
-
|
289
|
+
- !ruby/object:Gem::Version
|
290
|
+
hash: 3
|
291
|
+
segments:
|
292
|
+
- 2
|
293
|
+
- 0
|
294
|
+
version: "2.0"
|
295
|
+
prerelease: false
|
235
296
|
type: :development
|
297
|
+
requirement: *id018
|
298
|
+
name: rspec
|
299
|
+
- !ruby/object:Gem::Dependency
|
300
|
+
version_requirements: &id019 !ruby/object:Gem::Requirement
|
301
|
+
none: false
|
302
|
+
requirements:
|
303
|
+
- - ">="
|
304
|
+
- !ruby/object:Gem::Version
|
305
|
+
hash: 3
|
306
|
+
segments:
|
307
|
+
- 0
|
308
|
+
version: "0"
|
236
309
|
prerelease: false
|
237
|
-
version_requirements: !ruby/object:Gem::Requirement
|
238
|
-
requirements:
|
239
|
-
- - <
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: '2.0'
|
242
|
-
- !ruby/object:Gem::Dependency
|
243
|
-
name: ruby-debug
|
244
|
-
requirement: !ruby/object:Gem::Requirement
|
245
|
-
requirements:
|
246
|
-
- - ! '>='
|
247
|
-
- !ruby/object:Gem::Version
|
248
|
-
version: '0'
|
249
310
|
type: :development
|
311
|
+
requirement: *id019
|
312
|
+
name: ruby-debug
|
313
|
+
- !ruby/object:Gem::Dependency
|
314
|
+
version_requirements: &id020 !ruby/object:Gem::Requirement
|
315
|
+
none: false
|
316
|
+
requirements:
|
317
|
+
- - ">="
|
318
|
+
- !ruby/object:Gem::Version
|
319
|
+
hash: 3
|
320
|
+
segments:
|
321
|
+
- 0
|
322
|
+
version: "0"
|
250
323
|
prerelease: false
|
251
|
-
version_requirements: !ruby/object:Gem::Requirement
|
252
|
-
requirements:
|
253
|
-
- - ! '>='
|
254
|
-
- !ruby/object:Gem::Version
|
255
|
-
version: '0'
|
256
|
-
- !ruby/object:Gem::Dependency
|
257
|
-
name: yard
|
258
|
-
requirement: !ruby/object:Gem::Requirement
|
259
|
-
requirements:
|
260
|
-
- - ! '>='
|
261
|
-
- !ruby/object:Gem::Version
|
262
|
-
version: '0'
|
263
324
|
type: :development
|
325
|
+
requirement: *id020
|
326
|
+
name: stompserver
|
327
|
+
- !ruby/object:Gem::Dependency
|
328
|
+
version_requirements: &id021 !ruby/object:Gem::Requirement
|
329
|
+
none: false
|
330
|
+
requirements:
|
331
|
+
- - ">="
|
332
|
+
- !ruby/object:Gem::Version
|
333
|
+
hash: 3
|
334
|
+
segments:
|
335
|
+
- 0
|
336
|
+
version: "0"
|
264
337
|
prerelease: false
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
Also contains core classes to build robots'
|
274
|
-
email:
|
338
|
+
type: :development
|
339
|
+
requirement: *id021
|
340
|
+
name: yard
|
341
|
+
description: |-
|
342
|
+
Contains classes to make http connections with a client-cert, use Jhove, and call Suri
|
343
|
+
Also contains core classes to build robots
|
344
|
+
email:
|
275
345
|
- wmene@stanford.edu
|
276
346
|
executables: []
|
347
|
+
|
277
348
|
extensions: []
|
349
|
+
|
278
350
|
extra_rdoc_files: []
|
279
|
-
|
280
|
-
|
281
|
-
- README.rdoc
|
351
|
+
|
352
|
+
files:
|
282
353
|
- lib/dlss_service.rb
|
283
|
-
- lib/dor/base.rb
|
284
|
-
- lib/dor/suri_service.rb
|
285
|
-
- lib/dor/workflow_service.rb
|
286
354
|
- lib/dor_service.rb
|
287
|
-
- lib/lyber_core.rb
|
355
|
+
- lib/lyber_core/config.rb
|
288
356
|
- lib/lyber_core/connection.rb
|
289
357
|
- lib/lyber_core/destroyer.rb
|
358
|
+
- lib/lyber_core/exceptions/chained_error.rb
|
290
359
|
- lib/lyber_core/exceptions/empty_queue.rb
|
360
|
+
- lib/lyber_core/exceptions/fatal_error.rb
|
361
|
+
- lib/lyber_core/exceptions/item_error.rb
|
362
|
+
- lib/lyber_core/exceptions/service_error.rb
|
291
363
|
- lib/lyber_core/log.rb
|
292
|
-
- lib/lyber_core/rake/dlss_release.rb
|
293
364
|
- lib/lyber_core/robots/robot.rb
|
365
|
+
- lib/lyber_core/robots/service_controller.rb
|
294
366
|
- lib/lyber_core/robots/work_item.rb
|
295
367
|
- lib/lyber_core/robots/work_queue.rb
|
296
368
|
- lib/lyber_core/robots/workflow.rb
|
297
369
|
- lib/lyber_core/robots/workspace.rb
|
298
|
-
- lib/lyber_core/utils.rb
|
299
370
|
- lib/lyber_core/utils/bagit_bag.rb
|
300
371
|
- lib/lyber_core/utils/checksum_validate.rb
|
301
372
|
- lib/lyber_core/utils/file_utilities.rb
|
302
|
-
- lib/
|
303
|
-
- lib/
|
373
|
+
- lib/lyber_core/utils.rb
|
374
|
+
- lib/lyber_core.rb
|
304
375
|
- lib/tasks/rdoc.rake
|
376
|
+
- lib/xml_models/identity_metadata/dublin_core.rb
|
377
|
+
- lib/xml_models/identity_metadata/identity_metadata.rb
|
378
|
+
- LICENSE
|
379
|
+
- README.rdoc
|
380
|
+
has_rdoc: true
|
305
381
|
homepage: http://github.com/wmene/lyber-core
|
306
382
|
licenses: []
|
307
|
-
|
383
|
+
|
308
384
|
post_install_message:
|
309
385
|
rdoc_options: []
|
310
|
-
|
386
|
+
|
387
|
+
require_paths:
|
311
388
|
- lib
|
312
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
389
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
390
|
+
none: false
|
391
|
+
requirements:
|
392
|
+
- - ">="
|
393
|
+
- !ruby/object:Gem::Version
|
394
|
+
hash: 3
|
395
|
+
segments:
|
396
|
+
- 0
|
397
|
+
version: "0"
|
398
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
399
|
+
none: false
|
400
|
+
requirements:
|
401
|
+
- - ">="
|
402
|
+
- !ruby/object:Gem::Version
|
403
|
+
hash: 23
|
404
|
+
segments:
|
405
|
+
- 1
|
406
|
+
- 3
|
407
|
+
- 6
|
321
408
|
version: 1.3.6
|
322
409
|
requirements: []
|
410
|
+
|
323
411
|
rubyforge_project:
|
324
|
-
rubygems_version:
|
412
|
+
rubygems_version: 1.5.2
|
325
413
|
signing_key:
|
326
|
-
specification_version:
|
414
|
+
specification_version: 3
|
327
415
|
summary: Core services used by the SULAIR Digital Library
|
328
416
|
test_files: []
|
417
|
+
|