dor-services 4.17.2 → 4.18.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.
- checksums.yaml +13 -5
- data/lib/dor/models/identifiable.rb +7 -97
- data/lib/dor/models/releaseable.rb +127 -5
- data/lib/dor/version.rb +1 -1
- metadata +75 -75
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YzQwY2Q2NTlhNDM2OWZjOTVjMWNkOTcyYmUxYjJlYzY5NDk4NGYyYQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YTJlNDFlYzUxMTc2ZDQzMWM5MWRiNTU0MzFkZjFjZGQ3MTNkNDBmMQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YzAyNWY4Yjc5N2RjZDlhZjIxMGM5OWQ5YjZmODljMWQzYTU0MDZjYTM5MmFh
|
10
|
+
NTJmY2UxZDE3Yjc1YjBhYjQ3MjVkOTMwNGNiYzEzMGQ5ZjhjYWEwZjJiODBi
|
11
|
+
ZmE4ZTI0ZWE0N2M3ZjNjZmVmOWU0OTFhODkzMWFjYzg2OTJiNGE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZjcwNmY0Y2QzNWIxN2NiODNkMjNhMWE3MmZmMjE1MGU3OGMxODgyMTc0Yjdh
|
14
|
+
NWJhYjZhOWQ3M2FhMTNmYjI4OTJlOWU1ZThiNGMzYTljNmE3NWRkMTA5Njk4
|
15
|
+
MjY0YTliMzZjNTUwNGQzZDNiN2NhZDZjOWEwZGI5M2U5MjRmYzc=
|
@@ -32,48 +32,6 @@ module Dor
|
|
32
32
|
self.identityMetadata.tag
|
33
33
|
end
|
34
34
|
|
35
|
-
#helper method to get the release tags as a nodeset
|
36
|
-
#
|
37
|
-
#@return [Nokogiri::XML::NodeSet] of all release tags and their attributes
|
38
|
-
def release_tags
|
39
|
-
release_tags = self.identityMetadata.ng_xml.xpath('//release')
|
40
|
-
return_hash = {}
|
41
|
-
release_tags.each do |release_tag|
|
42
|
-
hashed_node = self.release_tag_node_to_hash(release_tag)
|
43
|
-
if return_hash[hashed_node[:to]] != nil
|
44
|
-
return_hash[hashed_node[:to]] << hashed_node[:attrs]
|
45
|
-
else
|
46
|
-
return_hash[hashed_node[:to]] = [hashed_node[:attrs]]
|
47
|
-
end
|
48
|
-
end
|
49
|
-
return return_hash
|
50
|
-
end
|
51
|
-
|
52
|
-
#method to convert one release element into an array
|
53
|
-
#
|
54
|
-
#@param rtag [Nokogiri::XML::Element] the release tag element
|
55
|
-
#
|
56
|
-
#return [Hash] in the form of {:to => String :attrs = Hash}
|
57
|
-
def release_tag_node_to_hash(rtag)
|
58
|
-
to = 'to'
|
59
|
-
release = 'release'
|
60
|
-
when_word = 'when' #TODO: Make to and when_word load from some config file instead of hardcoded here
|
61
|
-
attrs = rtag.attributes
|
62
|
-
return_hash = { :to => attrs[to].value }
|
63
|
-
attrs.tap { |a| a.delete(to)}
|
64
|
-
attrs[release] = rtag.text.downcase == "true" #save release as a boolean
|
65
|
-
return_hash[:attrs] = attrs
|
66
|
-
|
67
|
-
#convert all the attrs beside :to to strings, they are currently Nokogiri::XML::Attr
|
68
|
-
(return_hash[:attrs].keys-[to]).each do |a|
|
69
|
-
return_hash[:attrs][a] = return_hash[:attrs][a].to_s if a != release
|
70
|
-
end
|
71
|
-
|
72
|
-
return_hash[:attrs][when_word] = Time.parse(return_hash[:attrs][when_word]) #convert when to a datetime
|
73
|
-
|
74
|
-
return return_hash
|
75
|
-
end
|
76
|
-
|
77
35
|
# helper method to get just the content type tag
|
78
36
|
def content_type_tag
|
79
37
|
content_tag=tags.select {|tag| tag.include?('Process : Content Type')}
|
@@ -265,64 +223,16 @@ module Dor
|
|
265
223
|
return tag_arr
|
266
224
|
|
267
225
|
end
|
268
|
-
|
269
|
-
#Add a tag for an item
|
270
|
-
#If you are adding just a :tag att
|
271
|
-
#
|
272
|
-
#@return [String] returned if this function is called with invalid parameters, eg a lack of :who for release_tag
|
273
|
-
#@return [Nokogiri::XML::Element] the tag added if successful
|
274
|
-
#
|
275
|
-
#@raise [RuntimeError] Raised if the tag already exists on the item or the tag is not of the form a:b
|
276
|
-
#
|
277
|
-
#@params tag [string] The content of the tag
|
278
|
-
#@params type [symbol] The type of tag, :tag is assumed as default
|
279
|
-
#@params attrs [hash] A hash of any attributes to be placed onto the tag
|
280
|
-
# release tag example:
|
281
|
-
# item.add_tag(true,:release,{:tag=>'Fitch : Batch2',:what=>'self',:to=>'Searchworks',:who=>'petucket'})
|
282
|
-
def add_tag(tag, type=:tag, attrs={})
|
283
|
-
needs_timestamp = [:release] #If you want a tag to get a timestamp attribute, add its symbol here
|
284
|
-
identity_metadata_ds = self.identityMetadata
|
285
|
-
normalized_tag = validate_and_normalize_tag(tag, identity_metadata_ds.tags) if type != :release #Release tags are always boolean, so skip this step
|
286
|
-
normalized_tag = tag.to_s if type == :release #just keep the boolean if we have just have a release
|
287
|
-
|
288
|
-
attrs[:when] = Time.now.utc.iso8601 if needs_timestamp.include? type
|
289
|
-
|
290
|
-
|
291
|
-
if type == :release
|
292
|
-
valid_release_attributes_and_tag(tag, attrs)
|
293
|
-
attrs[:tag] = normalize_tag_arr(validate_tag_format(attrs[:tag])) if attrs[:tag] != nil #:tag must be a valid administrative tag
|
294
|
-
end
|
295
|
-
|
296
|
-
return identity_metadata_ds.add_value(type, normalized_tag) if attrs == {}
|
297
|
-
return identity_metadata_ds.add_value(type, normalized_tag, attrs) if attrs != {}
|
298
|
-
end
|
299
|
-
|
300
226
|
|
301
|
-
#
|
227
|
+
#Add an administrative tag to an item, you will need to seperately save the item to write it to fedora
|
302
228
|
#
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
def valid_release_attributes_and_tag(tag, attrs={})
|
309
|
-
raise ":when is not iso8601" if attrs[:when].match('\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z') == nil
|
310
|
-
[:who, :to, :what].each do |check_attr|
|
311
|
-
raise "#{check_attr} not supplied as a String" if attrs[check_attr].class != String
|
312
|
-
end
|
313
|
-
|
314
|
-
what_correct = false
|
315
|
-
['self', 'collection'].each do |allowed_what_value|
|
316
|
-
what_correct = true if attrs[:what] == allowed_what_value
|
317
|
-
end
|
318
|
-
raise ":what must be self or collection" if not what_correct
|
319
|
-
|
320
|
-
raise "the value set for this tag is not a boolean" if !!tag != tag
|
321
|
-
identity_metadata_ds = self.identityMetadata
|
322
|
-
validate_tag_format(attrs[:tag]) if attrs[:tag] != nil #Will Raise exception if invalid tag
|
323
|
-
return true
|
229
|
+
#param tag [string] The tag you wish to add
|
230
|
+
def add_tag(tag)
|
231
|
+
identity_metadata_ds = self.identityMetadata
|
232
|
+
normalized_tag = validate_and_normalize_tag(tag, identity_metadata_ds.tags)
|
233
|
+
identity_metadata_ds.add_value(:tag, normalized_tag)
|
324
234
|
end
|
325
|
-
|
235
|
+
|
326
236
|
def remove_tag(tag)
|
327
237
|
identity_metadata_ds = self.identityMetadata
|
328
238
|
ds_xml = identity_metadata_ds.ng_xml
|
@@ -3,7 +3,6 @@ module Dor
|
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
include Itemizable
|
5
5
|
|
6
|
-
|
7
6
|
#Generate XML structure for inclusion to Purl
|
8
7
|
#
|
9
8
|
#@return [String] The XML release node as a string, with ReleaseDigest as the root document
|
@@ -25,7 +24,7 @@ module Dor
|
|
25
24
|
released_hash = {}
|
26
25
|
|
27
26
|
#Get release tags on the item itself
|
28
|
-
release_tags_on_this_item = self.
|
27
|
+
release_tags_on_this_item = self.release_nodes
|
29
28
|
|
30
29
|
#Get any self tags on this item
|
31
30
|
self_release_tags = self.get_self_release_tags(release_tags_on_this_item)
|
@@ -71,7 +70,7 @@ module Dor
|
|
71
70
|
#
|
72
71
|
#@return [Hash] a hash of all tags
|
73
72
|
def get_release_tags_for_item_and_all_governing_sets
|
74
|
-
return_tags = self.
|
73
|
+
return_tags = self.release_nodes || {}
|
75
74
|
self.collections.each do |collection|
|
76
75
|
return_tags = combine_two_release_tag_hashes(return_tags, Dor::Item.find(collection.id).get_release_tags_for_item_and_all_governing_sets) #this will function recurvisely so parents of parents are found
|
77
76
|
end
|
@@ -148,7 +147,6 @@ module Dor
|
|
148
147
|
return latest_tag_in_array
|
149
148
|
end
|
150
149
|
|
151
|
-
|
152
150
|
#Takes a tag and returns true or false if it applies to the specific item
|
153
151
|
#
|
154
152
|
#@param release_tag [Hash] the tag in a hashed form
|
@@ -159,7 +157,7 @@ module Dor
|
|
159
157
|
#Is the tag global or restricted
|
160
158
|
return true if release_tag['tag'] == nil #there is no specific tag specificied, so that means this tag is global to all members of the collection, it applies, return true
|
161
159
|
|
162
|
-
admin_tags = self.tags if
|
160
|
+
admin_tags = self.tags if ! admin_tags #We use false instead of [], since an item can have no admin_tags that which point we'd be passing down this variable as [] and would not an attempt to retrieve it
|
163
161
|
return admin_tags.include?(release_tag['tag'])
|
164
162
|
end
|
165
163
|
|
@@ -181,6 +179,130 @@ module Dor
|
|
181
179
|
|
182
180
|
return nil #We're out of tags, no applicable ones
|
183
181
|
end
|
182
|
+
|
183
|
+
#helper method to get the release tags as a nodeset
|
184
|
+
#
|
185
|
+
#@return [Nokogiri::XML::NodeSet] of all release tags and their attributes
|
186
|
+
def release_tags
|
187
|
+
release_tags = self.identityMetadata.ng_xml.xpath('//release')
|
188
|
+
return_hash = {}
|
189
|
+
release_tags.each do |release_tag|
|
190
|
+
hashed_node = self.release_tag_node_to_hash(release_tag)
|
191
|
+
if return_hash[hashed_node[:to]] != nil
|
192
|
+
return_hash[hashed_node[:to]] << hashed_node[:attrs]
|
193
|
+
else
|
194
|
+
return_hash[hashed_node[:to]] = [hashed_node[:attrs]]
|
195
|
+
end
|
196
|
+
end
|
197
|
+
return return_hash
|
198
|
+
end
|
199
|
+
|
200
|
+
#method to convert one release element into an array
|
201
|
+
#
|
202
|
+
#@param rtag [Nokogiri::XML::Element] the release tag element
|
203
|
+
#
|
204
|
+
#return [Hash] in the form of {:to => String :attrs = Hash}
|
205
|
+
def release_tag_node_to_hash(rtag)
|
206
|
+
to = 'to'
|
207
|
+
release = 'release'
|
208
|
+
when_word = 'when' #TODO: Make to and when_word load from some config file instead of hardcoded here
|
209
|
+
attrs = rtag.attributes
|
210
|
+
return_hash = { :to => attrs[to].value }
|
211
|
+
attrs.tap { |a| a.delete(to)}
|
212
|
+
attrs[release] = rtag.text.downcase == "true" #save release as a boolean
|
213
|
+
return_hash[:attrs] = attrs
|
214
|
+
|
215
|
+
#convert all the attrs beside :to to strings, they are currently Nokogiri::XML::Attr
|
216
|
+
(return_hash[:attrs].keys-[to]).each do |a|
|
217
|
+
return_hash[:attrs][a] = return_hash[:attrs][a].to_s if a != release
|
218
|
+
end
|
219
|
+
|
220
|
+
return_hash[:attrs][when_word] = Time.parse(return_hash[:attrs][when_word]) #convert when to a datetime
|
221
|
+
|
222
|
+
return return_hash
|
223
|
+
end
|
224
|
+
|
225
|
+
#Determine if the supplied tag is a valid release tag that meets all requirements
|
226
|
+
#
|
227
|
+
#@raises [RuntimeError] Raises an error of the first fault in the release tag
|
228
|
+
#
|
229
|
+
#@return [Boolean] Returns true if no errors found
|
230
|
+
#
|
231
|
+
#@params attrs [hash] A hash of attributes for the tag, must contain: :when, a ISO 8601 timestamp; :who, to identify who or what added the tag; and :to, a string identifying the release target
|
232
|
+
def valid_release_attributes_and_tag(tag, attrs={})
|
233
|
+
raise ArgumentError, ":when is not iso8601" if attrs[:when].match('\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z') == nil
|
234
|
+
[:who, :to, :what].each do |check_attr|
|
235
|
+
raise ArgumentError, "#{check_attr} not supplied as a String" if attrs[check_attr].class != String
|
236
|
+
end
|
237
|
+
|
238
|
+
what_correct = false
|
239
|
+
['self', 'collection'].each do |allowed_what_value|
|
240
|
+
what_correct = true if attrs[:what] == allowed_what_value
|
241
|
+
end
|
242
|
+
raise ArgumentError, ":what must be self or collection" if ! what_correct
|
243
|
+
raise ArgumentError, "the value set for this tag is not a boolean" if !!tag != tag
|
244
|
+
validate_tag_format(attrs[:tag]) if attrs[:tag] != nil #Will Raise exception if invalid tag
|
245
|
+
return true
|
246
|
+
end
|
247
|
+
|
248
|
+
#Add a release node for the item
|
249
|
+
#Will use the current time to add in the timestamp if you do not supply a timestamp, you can supply a timestap for correcting history, etc if desired
|
250
|
+
#
|
251
|
+
#@return [Nokogiri::XML::Element] the tag added if successful
|
252
|
+
#
|
253
|
+
#@raise [RuntimeError] Raised if attributes are improperly supplied
|
254
|
+
#
|
255
|
+
#@params tag [Boolean] True or false for the release node
|
256
|
+
#@params attrs [hash] A hash of any attributes to be placed onto the tag
|
257
|
+
# release tag example:
|
258
|
+
# item.add_tag(true,:release,{:tag=>'Fitch : Batch2',:what=>'self',:to=>'Searchworks',:who=>'petucket'})
|
259
|
+
def add_release_node(release, attrs={})
|
260
|
+
identity_metadata_ds = self.identityMetadata
|
261
|
+
attrs[:when] = Time.now.utc.iso8601 if attrs[:when] == nil#add the timestamp
|
262
|
+
valid_release_attributes(release, attrs)
|
263
|
+
|
264
|
+
return identity_metadata_ds.add_value(:release, release.to_s, attrs)
|
265
|
+
end
|
266
|
+
|
267
|
+
#Determine if the supplied tag is a valid release node that meets all requirements
|
268
|
+
#
|
269
|
+
#@raises [ArgumentError] Raises an error of the first fault in the release tag
|
270
|
+
#
|
271
|
+
#@return [Boolean] Returns true if no errors found
|
272
|
+
#
|
273
|
+
#@params attrs [hash] A hash of attributes for the tag, must contain :when, a ISO 8601 timestamp and :who to identify who or what added the tag, :to,
|
274
|
+
def valid_release_attributes(tag, attrs={})
|
275
|
+
raise ArgumentError, ":when is not iso8601" if attrs[:when].match('\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z') == nil
|
276
|
+
[:who, :to, :what].each do |check_attr|
|
277
|
+
raise ArgumentError, "#{check_attr} not supplied as a String" if attrs[check_attr].class != String
|
278
|
+
end
|
279
|
+
|
280
|
+
what_correct = false
|
281
|
+
['self', 'collection'].each do |allowed_what_value|
|
282
|
+
what_correct = true if attrs[:what] == allowed_what_value
|
283
|
+
end
|
284
|
+
raise ArgumentError, ":what must be self or collection" if ! what_correct
|
285
|
+
raise ArgumentError, "the value set for this tag is not a boolean" if !!tag != tag
|
286
|
+
validate_tag_format(attrs[:tag]) if attrs[:tag] != nil #Will Raise exception if invalid tag
|
287
|
+
return true
|
288
|
+
end
|
289
|
+
|
290
|
+
#helper method to get the release nodes as a nodeset
|
291
|
+
#
|
292
|
+
#@return [Nokogiri::XML::NodeSet] of all release tags and their attributes
|
293
|
+
def release_nodes
|
294
|
+
release_tags = self.identityMetadata.ng_xml.xpath('//release')
|
295
|
+
return_hash = {}
|
296
|
+
release_tags.each do |release_tag|
|
297
|
+
hashed_node = self.release_tag_node_to_hash(release_tag)
|
298
|
+
if return_hash[hashed_node[:to]] != nil
|
299
|
+
return_hash[hashed_node[:to]] << hashed_node[:attrs]
|
300
|
+
else
|
301
|
+
return_hash[hashed_node[:to]] = [hashed_node[:attrs]]
|
302
|
+
end
|
303
|
+
end
|
304
|
+
return return_hash
|
305
|
+
end
|
184
306
|
|
185
307
|
end
|
186
308
|
end
|
data/lib/dor/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Klein
|
@@ -12,480 +12,480 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-02-
|
15
|
+
date: 2015-02-05 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: active-fedora
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 5.7.1
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
|
-
- -
|
28
|
+
- - ~>
|
29
29
|
- !ruby/object:Gem::Version
|
30
30
|
version: 5.7.1
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: activesupport
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '3.2'
|
38
|
-
- -
|
38
|
+
- - ! '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.2.18
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '3.2'
|
48
|
-
- -
|
48
|
+
- - ! '>='
|
49
49
|
- !ruby/object:Gem::Version
|
50
50
|
version: 3.2.18
|
51
51
|
- !ruby/object:Gem::Dependency
|
52
52
|
name: confstruct
|
53
53
|
requirement: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- -
|
55
|
+
- - ~>
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: 0.2.7
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
60
|
version_requirements: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
|
-
- -
|
62
|
+
- - ~>
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: 0.2.7
|
65
65
|
- !ruby/object:Gem::Dependency
|
66
66
|
name: equivalent-xml
|
67
67
|
requirement: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- -
|
69
|
+
- - ~>
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: 0.5.1
|
72
72
|
type: :runtime
|
73
73
|
prerelease: false
|
74
74
|
version_requirements: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- -
|
76
|
+
- - ~>
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: 0.5.1
|
79
79
|
- !ruby/object:Gem::Dependency
|
80
80
|
name: json
|
81
81
|
requirement: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: 1.8.1
|
86
86
|
type: :runtime
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
|
-
- -
|
90
|
+
- - ~>
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: 1.8.1
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: net-sftp
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
|
-
- -
|
97
|
+
- - ~>
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: 2.1.2
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
102
|
version_requirements: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
|
-
- -
|
104
|
+
- - ~>
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: 2.1.2
|
107
107
|
- !ruby/object:Gem::Dependency
|
108
108
|
name: net-ssh
|
109
109
|
requirement: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
|
-
- -
|
111
|
+
- - ~>
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: 2.6.5
|
114
114
|
type: :runtime
|
115
115
|
prerelease: false
|
116
116
|
version_requirements: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
|
-
- -
|
118
|
+
- - ~>
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: 2.6.5
|
121
121
|
- !ruby/object:Gem::Dependency
|
122
122
|
name: nokogiri
|
123
123
|
requirement: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
|
-
- -
|
125
|
+
- - ~>
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: 1.6.0
|
128
128
|
type: :runtime
|
129
129
|
prerelease: false
|
130
130
|
version_requirements: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
|
-
- -
|
132
|
+
- - ~>
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: 1.6.0
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: om
|
137
137
|
requirement: !ruby/object:Gem::Requirement
|
138
138
|
requirements:
|
139
|
-
- -
|
139
|
+
- - ~>
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: 1.8.0
|
142
142
|
type: :runtime
|
143
143
|
prerelease: false
|
144
144
|
version_requirements: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- -
|
146
|
+
- - ~>
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: 1.8.0
|
149
149
|
- !ruby/object:Gem::Dependency
|
150
150
|
name: progressbar
|
151
151
|
requirement: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
|
-
- -
|
153
|
+
- - ~>
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: 0.21.0
|
156
156
|
type: :runtime
|
157
157
|
prerelease: false
|
158
158
|
version_requirements: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
|
-
- -
|
160
|
+
- - ~>
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: 0.21.0
|
163
163
|
- !ruby/object:Gem::Dependency
|
164
164
|
name: rdf
|
165
165
|
requirement: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
|
-
- -
|
167
|
+
- - ~>
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: 1.0.9.0
|
170
170
|
type: :runtime
|
171
171
|
prerelease: false
|
172
172
|
version_requirements: !ruby/object:Gem::Requirement
|
173
173
|
requirements:
|
174
|
-
- -
|
174
|
+
- - ~>
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: 1.0.9.0
|
177
177
|
- !ruby/object:Gem::Dependency
|
178
178
|
name: rest-client
|
179
179
|
requirement: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
|
-
- -
|
181
|
+
- - ~>
|
182
182
|
- !ruby/object:Gem::Version
|
183
183
|
version: 1.6.7
|
184
184
|
type: :runtime
|
185
185
|
prerelease: false
|
186
186
|
version_requirements: !ruby/object:Gem::Requirement
|
187
187
|
requirements:
|
188
|
-
- -
|
188
|
+
- - ~>
|
189
189
|
- !ruby/object:Gem::Version
|
190
190
|
version: 1.6.7
|
191
191
|
- !ruby/object:Gem::Dependency
|
192
192
|
name: rsolr-ext
|
193
193
|
requirement: !ruby/object:Gem::Requirement
|
194
194
|
requirements:
|
195
|
-
- -
|
195
|
+
- - ~>
|
196
196
|
- !ruby/object:Gem::Version
|
197
197
|
version: 1.0.3
|
198
198
|
type: :runtime
|
199
199
|
prerelease: false
|
200
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
201
|
requirements:
|
202
|
-
- -
|
202
|
+
- - ~>
|
203
203
|
- !ruby/object:Gem::Version
|
204
204
|
version: 1.0.3
|
205
205
|
- !ruby/object:Gem::Dependency
|
206
206
|
name: ruby-cache
|
207
207
|
requirement: !ruby/object:Gem::Requirement
|
208
208
|
requirements:
|
209
|
-
- -
|
209
|
+
- - ~>
|
210
210
|
- !ruby/object:Gem::Version
|
211
211
|
version: 0.3.0
|
212
212
|
type: :runtime
|
213
213
|
prerelease: false
|
214
214
|
version_requirements: !ruby/object:Gem::Requirement
|
215
215
|
requirements:
|
216
|
-
- -
|
216
|
+
- - ~>
|
217
217
|
- !ruby/object:Gem::Version
|
218
218
|
version: 0.3.0
|
219
219
|
- !ruby/object:Gem::Dependency
|
220
220
|
name: ruby-graphviz
|
221
221
|
requirement: !ruby/object:Gem::Requirement
|
222
222
|
requirements:
|
223
|
-
- -
|
223
|
+
- - ~>
|
224
224
|
- !ruby/object:Gem::Version
|
225
225
|
version: 1.0.9
|
226
226
|
type: :runtime
|
227
227
|
prerelease: false
|
228
228
|
version_requirements: !ruby/object:Gem::Requirement
|
229
229
|
requirements:
|
230
|
-
- -
|
230
|
+
- - ~>
|
231
231
|
- !ruby/object:Gem::Version
|
232
232
|
version: 1.0.9
|
233
233
|
- !ruby/object:Gem::Dependency
|
234
234
|
name: rubydora
|
235
235
|
requirement: !ruby/object:Gem::Requirement
|
236
236
|
requirements:
|
237
|
-
- -
|
237
|
+
- - ~>
|
238
238
|
- !ruby/object:Gem::Version
|
239
239
|
version: 1.6.5
|
240
240
|
type: :runtime
|
241
241
|
prerelease: false
|
242
242
|
version_requirements: !ruby/object:Gem::Requirement
|
243
243
|
requirements:
|
244
|
-
- -
|
244
|
+
- - ~>
|
245
245
|
- !ruby/object:Gem::Version
|
246
246
|
version: 1.6.5
|
247
247
|
- !ruby/object:Gem::Dependency
|
248
248
|
name: solrizer
|
249
249
|
requirement: !ruby/object:Gem::Requirement
|
250
250
|
requirements:
|
251
|
-
- -
|
251
|
+
- - ~>
|
252
252
|
- !ruby/object:Gem::Version
|
253
253
|
version: '2.0'
|
254
254
|
type: :runtime
|
255
255
|
prerelease: false
|
256
256
|
version_requirements: !ruby/object:Gem::Requirement
|
257
257
|
requirements:
|
258
|
-
- -
|
258
|
+
- - ~>
|
259
259
|
- !ruby/object:Gem::Version
|
260
260
|
version: '2.0'
|
261
261
|
- !ruby/object:Gem::Dependency
|
262
262
|
name: systemu
|
263
263
|
requirement: !ruby/object:Gem::Requirement
|
264
264
|
requirements:
|
265
|
-
- -
|
265
|
+
- - ~>
|
266
266
|
- !ruby/object:Gem::Version
|
267
267
|
version: 2.6.0
|
268
268
|
type: :runtime
|
269
269
|
prerelease: false
|
270
270
|
version_requirements: !ruby/object:Gem::Requirement
|
271
271
|
requirements:
|
272
|
-
- -
|
272
|
+
- - ~>
|
273
273
|
- !ruby/object:Gem::Version
|
274
274
|
version: 2.6.0
|
275
275
|
- !ruby/object:Gem::Dependency
|
276
276
|
name: uuidtools
|
277
277
|
requirement: !ruby/object:Gem::Requirement
|
278
278
|
requirements:
|
279
|
-
- -
|
279
|
+
- - ~>
|
280
280
|
- !ruby/object:Gem::Version
|
281
281
|
version: 2.1.4
|
282
282
|
type: :runtime
|
283
283
|
prerelease: false
|
284
284
|
version_requirements: !ruby/object:Gem::Requirement
|
285
285
|
requirements:
|
286
|
-
- -
|
286
|
+
- - ~>
|
287
287
|
- !ruby/object:Gem::Version
|
288
288
|
version: 2.1.4
|
289
289
|
- !ruby/object:Gem::Dependency
|
290
290
|
name: validatable
|
291
291
|
requirement: !ruby/object:Gem::Requirement
|
292
292
|
requirements:
|
293
|
-
- -
|
293
|
+
- - ~>
|
294
294
|
- !ruby/object:Gem::Version
|
295
295
|
version: 1.6.7
|
296
296
|
type: :runtime
|
297
297
|
prerelease: false
|
298
298
|
version_requirements: !ruby/object:Gem::Requirement
|
299
299
|
requirements:
|
300
|
-
- -
|
300
|
+
- - ~>
|
301
301
|
- !ruby/object:Gem::Version
|
302
302
|
version: 1.6.7
|
303
303
|
- !ruby/object:Gem::Dependency
|
304
304
|
name: osullivan
|
305
305
|
requirement: !ruby/object:Gem::Requirement
|
306
306
|
requirements:
|
307
|
-
- -
|
307
|
+
- - ! '>='
|
308
308
|
- !ruby/object:Gem::Version
|
309
309
|
version: '0'
|
310
310
|
type: :runtime
|
311
311
|
prerelease: false
|
312
312
|
version_requirements: !ruby/object:Gem::Requirement
|
313
313
|
requirements:
|
314
|
-
- -
|
314
|
+
- - ! '>='
|
315
315
|
- !ruby/object:Gem::Version
|
316
316
|
version: '0'
|
317
317
|
- !ruby/object:Gem::Dependency
|
318
318
|
name: dor-workflow-service
|
319
319
|
requirement: !ruby/object:Gem::Requirement
|
320
320
|
requirements:
|
321
|
-
- -
|
321
|
+
- - ~>
|
322
322
|
- !ruby/object:Gem::Version
|
323
323
|
version: '1.7'
|
324
|
-
- -
|
324
|
+
- - ! '>='
|
325
325
|
- !ruby/object:Gem::Version
|
326
326
|
version: 1.7.1
|
327
327
|
type: :runtime
|
328
328
|
prerelease: false
|
329
329
|
version_requirements: !ruby/object:Gem::Requirement
|
330
330
|
requirements:
|
331
|
-
- -
|
331
|
+
- - ~>
|
332
332
|
- !ruby/object:Gem::Version
|
333
333
|
version: '1.7'
|
334
|
-
- -
|
334
|
+
- - ! '>='
|
335
335
|
- !ruby/object:Gem::Version
|
336
336
|
version: 1.7.1
|
337
337
|
- !ruby/object:Gem::Dependency
|
338
338
|
name: druid-tools
|
339
339
|
requirement: !ruby/object:Gem::Requirement
|
340
340
|
requirements:
|
341
|
-
- -
|
341
|
+
- - ~>
|
342
342
|
- !ruby/object:Gem::Version
|
343
343
|
version: 0.3.1
|
344
344
|
type: :runtime
|
345
345
|
prerelease: false
|
346
346
|
version_requirements: !ruby/object:Gem::Requirement
|
347
347
|
requirements:
|
348
|
-
- -
|
348
|
+
- - ~>
|
349
349
|
- !ruby/object:Gem::Version
|
350
350
|
version: 0.3.1
|
351
351
|
- !ruby/object:Gem::Dependency
|
352
352
|
name: lyber-utils
|
353
353
|
requirement: !ruby/object:Gem::Requirement
|
354
354
|
requirements:
|
355
|
-
- -
|
355
|
+
- - ~>
|
356
356
|
- !ruby/object:Gem::Version
|
357
357
|
version: 0.1.2
|
358
358
|
type: :runtime
|
359
359
|
prerelease: false
|
360
360
|
version_requirements: !ruby/object:Gem::Requirement
|
361
361
|
requirements:
|
362
|
-
- -
|
362
|
+
- - ~>
|
363
363
|
- !ruby/object:Gem::Version
|
364
364
|
version: 0.1.2
|
365
365
|
- !ruby/object:Gem::Dependency
|
366
366
|
name: moab-versioning
|
367
367
|
requirement: !ruby/object:Gem::Requirement
|
368
368
|
requirements:
|
369
|
-
- -
|
369
|
+
- - ~>
|
370
370
|
- !ruby/object:Gem::Version
|
371
371
|
version: 1.4.0
|
372
372
|
type: :runtime
|
373
373
|
prerelease: false
|
374
374
|
version_requirements: !ruby/object:Gem::Requirement
|
375
375
|
requirements:
|
376
|
-
- -
|
376
|
+
- - ~>
|
377
377
|
- !ruby/object:Gem::Version
|
378
378
|
version: 1.4.0
|
379
379
|
- !ruby/object:Gem::Dependency
|
380
380
|
name: stanford-mods
|
381
381
|
requirement: !ruby/object:Gem::Requirement
|
382
382
|
requirements:
|
383
|
-
- -
|
383
|
+
- - ~>
|
384
384
|
- !ruby/object:Gem::Version
|
385
385
|
version: 0.0.14
|
386
386
|
type: :runtime
|
387
387
|
prerelease: false
|
388
388
|
version_requirements: !ruby/object:Gem::Requirement
|
389
389
|
requirements:
|
390
|
-
- -
|
390
|
+
- - ~>
|
391
391
|
- !ruby/object:Gem::Version
|
392
392
|
version: 0.0.14
|
393
393
|
- !ruby/object:Gem::Dependency
|
394
394
|
name: fakeweb
|
395
395
|
requirement: !ruby/object:Gem::Requirement
|
396
396
|
requirements:
|
397
|
-
- -
|
397
|
+
- - ~>
|
398
398
|
- !ruby/object:Gem::Version
|
399
399
|
version: 1.3.0
|
400
400
|
type: :development
|
401
401
|
prerelease: false
|
402
402
|
version_requirements: !ruby/object:Gem::Requirement
|
403
403
|
requirements:
|
404
|
-
- -
|
404
|
+
- - ~>
|
405
405
|
- !ruby/object:Gem::Version
|
406
406
|
version: 1.3.0
|
407
407
|
- !ruby/object:Gem::Dependency
|
408
408
|
name: haml
|
409
409
|
requirement: !ruby/object:Gem::Requirement
|
410
410
|
requirements:
|
411
|
-
- -
|
411
|
+
- - ~>
|
412
412
|
- !ruby/object:Gem::Version
|
413
413
|
version: 4.0.4
|
414
414
|
type: :development
|
415
415
|
prerelease: false
|
416
416
|
version_requirements: !ruby/object:Gem::Requirement
|
417
417
|
requirements:
|
418
|
-
- -
|
418
|
+
- - ~>
|
419
419
|
- !ruby/object:Gem::Version
|
420
420
|
version: 4.0.4
|
421
421
|
- !ruby/object:Gem::Dependency
|
422
422
|
name: jhove-service
|
423
423
|
requirement: !ruby/object:Gem::Requirement
|
424
424
|
requirements:
|
425
|
-
- -
|
425
|
+
- - ~>
|
426
426
|
- !ruby/object:Gem::Version
|
427
427
|
version: 1.0.1
|
428
428
|
type: :development
|
429
429
|
prerelease: false
|
430
430
|
version_requirements: !ruby/object:Gem::Requirement
|
431
431
|
requirements:
|
432
|
-
- -
|
432
|
+
- - ~>
|
433
433
|
- !ruby/object:Gem::Version
|
434
434
|
version: 1.0.1
|
435
435
|
- !ruby/object:Gem::Dependency
|
436
436
|
name: rake
|
437
437
|
requirement: !ruby/object:Gem::Requirement
|
438
438
|
requirements:
|
439
|
-
- -
|
439
|
+
- - ~>
|
440
440
|
- !ruby/object:Gem::Version
|
441
441
|
version: 0.8.7
|
442
442
|
type: :development
|
443
443
|
prerelease: false
|
444
444
|
version_requirements: !ruby/object:Gem::Requirement
|
445
445
|
requirements:
|
446
|
-
- -
|
446
|
+
- - ~>
|
447
447
|
- !ruby/object:Gem::Version
|
448
448
|
version: 0.8.7
|
449
449
|
- !ruby/object:Gem::Dependency
|
450
450
|
name: rdoc
|
451
451
|
requirement: !ruby/object:Gem::Requirement
|
452
452
|
requirements:
|
453
|
-
- -
|
453
|
+
- - ~>
|
454
454
|
- !ruby/object:Gem::Version
|
455
455
|
version: 4.0.1
|
456
456
|
type: :development
|
457
457
|
prerelease: false
|
458
458
|
version_requirements: !ruby/object:Gem::Requirement
|
459
459
|
requirements:
|
460
|
-
- -
|
460
|
+
- - ~>
|
461
461
|
- !ruby/object:Gem::Version
|
462
462
|
version: 4.0.1
|
463
463
|
- !ruby/object:Gem::Dependency
|
464
464
|
name: rspec
|
465
465
|
requirement: !ruby/object:Gem::Requirement
|
466
466
|
requirements:
|
467
|
-
- -
|
467
|
+
- - ~>
|
468
468
|
- !ruby/object:Gem::Version
|
469
469
|
version: 2.14.1
|
470
470
|
type: :development
|
471
471
|
prerelease: false
|
472
472
|
version_requirements: !ruby/object:Gem::Requirement
|
473
473
|
requirements:
|
474
|
-
- -
|
474
|
+
- - ~>
|
475
475
|
- !ruby/object:Gem::Version
|
476
476
|
version: 2.14.1
|
477
477
|
- !ruby/object:Gem::Dependency
|
478
478
|
name: yard
|
479
479
|
requirement: !ruby/object:Gem::Requirement
|
480
480
|
requirements:
|
481
|
-
- -
|
481
|
+
- - ~>
|
482
482
|
- !ruby/object:Gem::Version
|
483
483
|
version: 0.8.7
|
484
484
|
type: :development
|
485
485
|
prerelease: false
|
486
486
|
version_requirements: !ruby/object:Gem::Requirement
|
487
487
|
requirements:
|
488
|
-
- -
|
488
|
+
- - ~>
|
489
489
|
- !ruby/object:Gem::Version
|
490
490
|
version: 0.8.7
|
491
491
|
description: Contains classes to register objects and initialize workflows
|
@@ -598,17 +598,17 @@ require_paths:
|
|
598
598
|
- lib
|
599
599
|
required_ruby_version: !ruby/object:Gem::Requirement
|
600
600
|
requirements:
|
601
|
-
- -
|
601
|
+
- - ! '>='
|
602
602
|
- !ruby/object:Gem::Version
|
603
603
|
version: '0'
|
604
604
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
605
605
|
requirements:
|
606
|
-
- -
|
606
|
+
- - ! '>='
|
607
607
|
- !ruby/object:Gem::Version
|
608
608
|
version: 1.3.6
|
609
609
|
requirements: []
|
610
610
|
rubyforge_project:
|
611
|
-
rubygems_version: 2.4.
|
611
|
+
rubygems_version: 2.4.3
|
612
612
|
signing_key:
|
613
613
|
specification_version: 4
|
614
614
|
summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
|