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 CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 86b97f4dd5c26552ed7d95e3febad6ed535ff697
4
- data.tar.gz: 5607ffba2887839f9715917b5649ae80fd5b992c
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YzQwY2Q2NTlhNDM2OWZjOTVjMWNkOTcyYmUxYjJlYzY5NDk4NGYyYQ==
5
+ data.tar.gz: !binary |-
6
+ YTJlNDFlYzUxMTc2ZDQzMWM5MWRiNTU0MzFkZjFjZGQ3MTNkNDBmMQ==
5
7
  SHA512:
6
- metadata.gz: 7514fd4a16e0ab9130bd834c1b82e7f474bcee3091d49afb66b111bcbb9e9dac607d48ec245162cbb6b659bbb8faefc4fe988729a1f97be378bd9e463376ef6e
7
- data.tar.gz: 36bb2eb542150e1628ed49972787cef388b9e6482b1db8c873f5ffbe803e64a91493aa14d16ba2faf09f425cab2dc1a0885e28b76b4d47e54d72c0bbb69f08db
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
- #Determine if the supplied tag is a valid release tag that meets all requirements
227
+ #Add an administrative tag to an item, you will need to seperately save the item to write it to fedora
302
228
  #
303
- #@raises [RuntimeError] Raises an error of the first fault in the release tag
304
- #
305
- #@return [Boolean] Returns true if no errors found
306
- #
307
- #@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,
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.release_tags
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.release_tags || {}
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 not 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
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
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '4.17.2'
2
+ VERSION = '4.18.0'
3
3
  end
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.17.2
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-03 00:00:00.000000000 Z
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.2
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