dor-services 4.12.1 → 4.12.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
- ---
2
- SHA512:
3
- data.tar.gz: b5f10595eee0cf942e6304ef8bba1e2dbcaebeb16cd9408a6153f4f9f7bcb9bd449c1afd47152c522a697377cf1d91cca1f5d278f8a4afb9b6737e1892632b97
4
- metadata.gz: 4727d0aa946e585c2b74660ce875dec0039ce84f9ed114ffe017ef25c1824ce0468afafc21b53640ff3ff302d49a63beb523f65d359bca7ed2a10193e82050f7
5
- SHA1:
6
- data.tar.gz: 2ca47c15cf934ebad0cd9c7570abb89bf540512e
7
- metadata.gz: b8729b89c6b6ef3984f92e7ede2ebebd54d411aa
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MTI2ZjBkOTExNzRmMGZhNTlmYzNjOTg0MzUyYWFlMzAyYzMwMjMzMA==
5
+ data.tar.gz: !binary |-
6
+ MDNmMjQzNzU1YTBhYzIwMmJmNzcwNzEzNmUwNWUyYThjYzY2Njg1YQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MjNmY2RhNmVkZGVkNTRjMWU3NzU4ZTlhZjY2OTkxMTg2ZmI5OWIxMGNhMTU5
10
+ M2QyYzE1OGM1MzA4NmNjY2M4ZDE3ZDY5ZDEwZDQwNmNkMmYyYWY5Y2UzYjNk
11
+ MWM4OTFkMDFlOWZjMzUwODM0MmU4NzBmMzI2OTllMGEyMDE5MTg=
12
+ data.tar.gz: !binary |-
13
+ MzQ0YzQ2OGQ5M2Q0NGQ1MmIwMzY0NjgzOGIwMmI3MDc3OGZmMGNiMTllZWQ1
14
+ YjlmZTQ4MzUyNmQ0NzZjYjgzNzI3MjY4ODFhZjZiZTUyZWM4MTJkMzM5NjAy
15
+ MTdhNGJiMGVlNGU4NmRhYTQzZjRmYzAzNjc1ZDVkODc1YjY4MTY=
@@ -139,8 +139,7 @@ module Dor
139
139
  autoload :ProvenanceMetadataService, 'dor/services/provenance_metadata_service'
140
140
  autoload :TechnicalMetadataService, 'dor/services/technical_metadata_service'
141
141
  autoload :MergeService, 'dor/services/merge_service'
142
- autoload :ResetWorkspaceService, 'dor/services/reset_workspace_service'
143
- autoload :CleanupResetService, 'dor/services/cleanup_reset_service'
142
+ autoload :ArchiveWorkspaceService, 'dor/services/archive_workspace_service'
144
143
 
145
144
  # Versioning Classes
146
145
  module Versioning
@@ -0,0 +1,19 @@
1
+ module Dor
2
+
3
+ # Rename the druid trees at the end of the accessionWF in order to be cleaned/deleted later.
4
+ class ArchiveWorkspaceService
5
+
6
+ def self.archive_workspace_druid_tree(druid, version, workspace_root)
7
+
8
+ druid_tree_path = DruidTools::Druid.new(druid, workspace_root).pathname.to_s
9
+
10
+ raise "The archived directory #{druid_tree_path}_v#{version} already existed." if File.exists?("#{druid_tree_path}_v#{version}")
11
+
12
+ if File.exists?(druid_tree_path)
13
+ FileUtils.mv(druid_tree_path, "#{druid_tree_path}_v#{version}")
14
+ end #Else is a truncated tree where we shouldn't do anything
15
+
16
+ end
17
+
18
+ end
19
+ end
@@ -18,13 +18,31 @@ module Dor
18
18
  cleanup_export(druid)
19
19
  end
20
20
 
21
+ # Tries to remove any exsitence of the object in our systems
22
+ # Does the following:
23
+ # - Removes item from Dor/Fedora/Solr
24
+ # - Removes content from dor workspace
25
+ # - Removes content from assembly workspace
26
+ # - Removes content from sdr export area
27
+ # - Removes content from stacks
28
+ # - Removes content from purl
29
+ # - Removes active workflows
30
+ # @param [String] druid id of the object you wish to remove
31
+ def self.nuke!(druid)
32
+ cleanup_by_druid druid
33
+ cleanup_stacks druid
34
+ cleanup_purl_doc_cache druid
35
+ remove_active_workflows druid
36
+ delete_from_dor druid
37
+ end
38
+
21
39
  # @param [String] druid The identifier for the object whose data is to be removed
22
40
  # @param [String] base The base directory to delete from
23
41
  # @return [void] remove the object's data files from the workspace area
24
42
  def self.cleanup_workspace_content(druid, base)
25
43
  DruidTools::Druid.new(druid, base).prune!
26
44
  end
27
-
45
+
28
46
  # @param [String] druid The identifier for the object whose data is to be removed
29
47
  # @return [void] remove copy of the data that was exported to preservation core
30
48
  def self.cleanup_export(druid)
@@ -42,24 +60,6 @@ module Dor
42
60
  pathname.rmtree if pathname.exist?
43
61
  end
44
62
 
45
- # Tries to remove any exsitence of the object in our systems
46
- # Does the following:
47
- # - Removes item from Dor/Fedora/Solr
48
- # - Removes content from dor workspace
49
- # - Removes content from assembly workspace
50
- # - Removes content from sdr export area
51
- # - Removes content from stacks
52
- # - Removes content from purl
53
- # - Removes active workflows
54
- # @param [String] druid id of the object you wish to remove
55
- def self.nuke!(druid)
56
- cleanup_by_druid druid
57
- cleanup_stacks druid
58
- cleanup_purl_doc_cache druid
59
- remove_active_workflows druid
60
- delete_from_dor druid
61
- end
62
-
63
63
  def self.cleanup_stacks(druid)
64
64
  DruidTools::StacksDruid.new(druid, Config.stacks.local_storage_root).prune!
65
65
  end
@@ -83,9 +83,7 @@ module Dor
83
83
  Dor::SearchService.solr.delete_by_id(pid)
84
84
  Dor::SearchService.solr.commit
85
85
  end
86
- end
87
-
88
- end
89
86
 
87
+ end
90
88
 
91
-
89
+ end
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '4.12.1'
2
+ VERSION = '4.12.2'
3
3
  end
metadata CHANGED
@@ -1,9 +1,9 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dor-services
3
- version: !ruby/object:Gem::Version
4
- version: 4.12.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.12.2
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Michael Klein
8
8
  - Willy Mene
9
9
  - Chris Fitzpatrick
@@ -12,346 +12,477 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
-
16
- date: 2014-07-18 00:00:00 Z
17
- dependencies:
18
- - !ruby/object:Gem::Dependency
15
+ date: 2014-07-25 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
19
18
  name: active-fedora
20
- prerelease: false
21
- requirement: &id001 !ruby/object:Gem::Requirement
22
- requirements:
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
23
21
  - - ~>
24
- - !ruby/object:Gem::Version
22
+ - !ruby/object:Gem::Version
25
23
  version: 5.7.1
26
24
  type: :runtime
27
- version_requirements: *id001
28
- - !ruby/object:Gem::Dependency
29
- name: activesupport
30
25
  prerelease: false
31
- requirement: &id002 !ruby/object:Gem::Requirement
32
- requirements:
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 5.7.1
31
+ - !ruby/object:Gem::Dependency
32
+ name: activesupport
33
+ requirement: !ruby/object:Gem::Requirement
34
+ requirements:
33
35
  - - ~>
34
- - !ruby/object:Gem::Version
35
- version: "3.2"
36
- - - ">="
37
- - !ruby/object:Gem::Version
36
+ - !ruby/object:Gem::Version
37
+ version: '3.2'
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
38
40
  version: 3.2.18
39
41
  type: :runtime
40
- version_requirements: *id002
41
- - !ruby/object:Gem::Dependency
42
- name: confstruct
43
42
  prerelease: false
44
- requirement: &id003 !ruby/object:Gem::Requirement
45
- requirements:
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: 3.2.18
51
+ - !ruby/object:Gem::Dependency
52
+ name: confstruct
53
+ requirement: !ruby/object:Gem::Requirement
54
+ requirements:
46
55
  - - ~>
47
- - !ruby/object:Gem::Version
56
+ - !ruby/object:Gem::Version
48
57
  version: 0.2.2
49
58
  type: :runtime
50
- version_requirements: *id003
51
- - !ruby/object:Gem::Dependency
52
- name: equivalent-xml
53
59
  prerelease: false
54
- requirement: &id004 !ruby/object:Gem::Requirement
55
- requirements:
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ~>
63
+ - !ruby/object:Gem::Version
64
+ version: 0.2.2
65
+ - !ruby/object:Gem::Dependency
66
+ name: equivalent-xml
67
+ requirement: !ruby/object:Gem::Requirement
68
+ requirements:
56
69
  - - ~>
57
- - !ruby/object:Gem::Version
70
+ - !ruby/object:Gem::Version
58
71
  version: 0.2.2
59
72
  type: :runtime
60
- version_requirements: *id004
61
- - !ruby/object:Gem::Dependency
62
- name: json
63
73
  prerelease: false
64
- requirement: &id005 !ruby/object:Gem::Requirement
65
- requirements:
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 0.2.2
79
+ - !ruby/object:Gem::Dependency
80
+ name: json
81
+ requirement: !ruby/object:Gem::Requirement
82
+ requirements:
66
83
  - - ~>
67
- - !ruby/object:Gem::Version
84
+ - !ruby/object:Gem::Version
68
85
  version: 1.8.1
69
86
  type: :runtime
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: net-sftp
73
87
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
75
- requirements:
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ version: 1.8.1
93
+ - !ruby/object:Gem::Dependency
94
+ name: net-sftp
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
76
97
  - - ~>
77
- - !ruby/object:Gem::Version
98
+ - !ruby/object:Gem::Version
78
99
  version: 2.1.2
79
100
  type: :runtime
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
82
- name: net-ssh
83
101
  prerelease: false
84
- requirement: &id007 !ruby/object:Gem::Requirement
85
- requirements:
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ~>
105
+ - !ruby/object:Gem::Version
106
+ version: 2.1.2
107
+ - !ruby/object:Gem::Dependency
108
+ name: net-ssh
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
86
111
  - - ~>
87
- - !ruby/object:Gem::Version
112
+ - !ruby/object:Gem::Version
88
113
  version: 2.7.0
89
114
  type: :runtime
90
- version_requirements: *id007
91
- - !ruby/object:Gem::Dependency
92
- name: nokogiri
93
115
  prerelease: false
94
- requirement: &id008 !ruby/object:Gem::Requirement
95
- requirements:
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 2.7.0
121
+ - !ruby/object:Gem::Dependency
122
+ name: nokogiri
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
96
125
  - - ~>
97
- - !ruby/object:Gem::Version
126
+ - !ruby/object:Gem::Version
98
127
  version: 1.6.0
99
128
  type: :runtime
100
- version_requirements: *id008
101
- - !ruby/object:Gem::Dependency
102
- name: om
103
129
  prerelease: false
104
- requirement: &id009 !ruby/object:Gem::Requirement
105
- requirements:
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
106
132
  - - ~>
107
- - !ruby/object:Gem::Version
133
+ - !ruby/object:Gem::Version
134
+ version: 1.6.0
135
+ - !ruby/object:Gem::Dependency
136
+ name: om
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
108
141
  version: 1.8.0
109
142
  type: :runtime
110
- version_requirements: *id009
111
- - !ruby/object:Gem::Dependency
112
- name: progressbar
113
143
  prerelease: false
114
- requirement: &id010 !ruby/object:Gem::Requirement
115
- requirements:
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ~>
147
+ - !ruby/object:Gem::Version
148
+ version: 1.8.0
149
+ - !ruby/object:Gem::Dependency
150
+ name: progressbar
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
116
153
  - - ~>
117
- - !ruby/object:Gem::Version
154
+ - !ruby/object:Gem::Version
118
155
  version: 0.21.0
119
156
  type: :runtime
120
- version_requirements: *id010
121
- - !ruby/object:Gem::Dependency
122
- name: rdf
123
157
  prerelease: false
124
- requirement: &id011 !ruby/object:Gem::Requirement
125
- requirements:
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ~>
161
+ - !ruby/object:Gem::Version
162
+ version: 0.21.0
163
+ - !ruby/object:Gem::Dependency
164
+ name: rdf
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
126
167
  - - ~>
127
- - !ruby/object:Gem::Version
168
+ - !ruby/object:Gem::Version
128
169
  version: 1.0.9.0
129
170
  type: :runtime
130
- version_requirements: *id011
131
- - !ruby/object:Gem::Dependency
132
- name: rest-client
133
171
  prerelease: false
134
- requirement: &id012 !ruby/object:Gem::Requirement
135
- requirements:
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ~>
175
+ - !ruby/object:Gem::Version
176
+ version: 1.0.9.0
177
+ - !ruby/object:Gem::Dependency
178
+ name: rest-client
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
136
181
  - - ~>
137
- - !ruby/object:Gem::Version
182
+ - !ruby/object:Gem::Version
138
183
  version: 1.6.7
139
184
  type: :runtime
140
- version_requirements: *id012
141
- - !ruby/object:Gem::Dependency
142
- name: rsolr-ext
143
185
  prerelease: false
144
- requirement: &id013 !ruby/object:Gem::Requirement
145
- requirements:
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
146
188
  - - ~>
147
- - !ruby/object:Gem::Version
189
+ - !ruby/object:Gem::Version
190
+ version: 1.6.7
191
+ - !ruby/object:Gem::Dependency
192
+ name: rsolr-ext
193
+ requirement: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
148
197
  version: 1.0.3
149
198
  type: :runtime
150
- version_requirements: *id013
151
- - !ruby/object:Gem::Dependency
152
- name: ruby-cache
153
199
  prerelease: false
154
- requirement: &id014 !ruby/object:Gem::Requirement
155
- requirements:
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ~>
203
+ - !ruby/object:Gem::Version
204
+ version: 1.0.3
205
+ - !ruby/object:Gem::Dependency
206
+ name: ruby-cache
207
+ requirement: !ruby/object:Gem::Requirement
208
+ requirements:
156
209
  - - ~>
157
- - !ruby/object:Gem::Version
210
+ - !ruby/object:Gem::Version
158
211
  version: 0.3.0
159
212
  type: :runtime
160
- version_requirements: *id014
161
- - !ruby/object:Gem::Dependency
162
- name: ruby-graphviz
163
213
  prerelease: false
164
- requirement: &id015 !ruby/object:Gem::Requirement
165
- requirements:
214
+ version_requirements: !ruby/object:Gem::Requirement
215
+ requirements:
166
216
  - - ~>
167
- - !ruby/object:Gem::Version
217
+ - !ruby/object:Gem::Version
218
+ version: 0.3.0
219
+ - !ruby/object:Gem::Dependency
220
+ name: ruby-graphviz
221
+ requirement: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ~>
224
+ - !ruby/object:Gem::Version
168
225
  version: 1.0.9
169
226
  type: :runtime
170
- version_requirements: *id015
171
- - !ruby/object:Gem::Dependency
172
- name: rubydora
173
227
  prerelease: false
174
- requirement: &id016 !ruby/object:Gem::Requirement
175
- requirements:
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
176
230
  - - ~>
177
- - !ruby/object:Gem::Version
231
+ - !ruby/object:Gem::Version
232
+ version: 1.0.9
233
+ - !ruby/object:Gem::Dependency
234
+ name: rubydora
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ~>
238
+ - !ruby/object:Gem::Version
178
239
  version: 1.6.5
179
240
  type: :runtime
180
- version_requirements: *id016
181
- - !ruby/object:Gem::Dependency
182
- name: solrizer
183
241
  prerelease: false
184
- requirement: &id017 !ruby/object:Gem::Requirement
185
- requirements:
242
+ version_requirements: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ~>
245
+ - !ruby/object:Gem::Version
246
+ version: 1.6.5
247
+ - !ruby/object:Gem::Dependency
248
+ name: solrizer
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
186
251
  - - ~>
187
- - !ruby/object:Gem::Version
188
- version: "2.0"
252
+ - !ruby/object:Gem::Version
253
+ version: '2.0'
189
254
  type: :runtime
190
- version_requirements: *id017
191
- - !ruby/object:Gem::Dependency
192
- name: systemu
193
255
  prerelease: false
194
- requirement: &id018 !ruby/object:Gem::Requirement
195
- requirements:
256
+ version_requirements: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - ~>
259
+ - !ruby/object:Gem::Version
260
+ version: '2.0'
261
+ - !ruby/object:Gem::Dependency
262
+ name: systemu
263
+ requirement: !ruby/object:Gem::Requirement
264
+ requirements:
196
265
  - - ~>
197
- - !ruby/object:Gem::Version
266
+ - !ruby/object:Gem::Version
198
267
  version: 2.6.0
199
268
  type: :runtime
200
- version_requirements: *id018
201
- - !ruby/object:Gem::Dependency
202
- name: uuidtools
203
269
  prerelease: false
204
- requirement: &id019 !ruby/object:Gem::Requirement
205
- requirements:
270
+ version_requirements: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - ~>
273
+ - !ruby/object:Gem::Version
274
+ version: 2.6.0
275
+ - !ruby/object:Gem::Dependency
276
+ name: uuidtools
277
+ requirement: !ruby/object:Gem::Requirement
278
+ requirements:
206
279
  - - ~>
207
- - !ruby/object:Gem::Version
280
+ - !ruby/object:Gem::Version
208
281
  version: 2.1.4
209
282
  type: :runtime
210
- version_requirements: *id019
211
- - !ruby/object:Gem::Dependency
212
- name: validatable
213
283
  prerelease: false
214
- requirement: &id020 !ruby/object:Gem::Requirement
215
- requirements:
284
+ version_requirements: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - ~>
287
+ - !ruby/object:Gem::Version
288
+ version: 2.1.4
289
+ - !ruby/object:Gem::Dependency
290
+ name: validatable
291
+ requirement: !ruby/object:Gem::Requirement
292
+ requirements:
216
293
  - - ~>
217
- - !ruby/object:Gem::Version
294
+ - !ruby/object:Gem::Version
218
295
  version: 1.6.7
219
296
  type: :runtime
220
- version_requirements: *id020
221
- - !ruby/object:Gem::Dependency
222
- name: dor-workflow-service
223
297
  prerelease: false
224
- requirement: &id021 !ruby/object:Gem::Requirement
225
- requirements:
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ requirements:
300
+ - - ~>
301
+ - !ruby/object:Gem::Version
302
+ version: 1.6.7
303
+ - !ruby/object:Gem::Dependency
304
+ name: dor-workflow-service
305
+ requirement: !ruby/object:Gem::Requirement
306
+ requirements:
226
307
  - - ~>
227
- - !ruby/object:Gem::Version
228
- version: "1.7"
229
- - - ">="
230
- - !ruby/object:Gem::Version
308
+ - !ruby/object:Gem::Version
309
+ version: '1.7'
310
+ - - ! '>='
311
+ - !ruby/object:Gem::Version
231
312
  version: 1.7.1
232
313
  type: :runtime
233
- version_requirements: *id021
234
- - !ruby/object:Gem::Dependency
235
- name: druid-tools
236
314
  prerelease: false
237
- requirement: &id022 !ruby/object:Gem::Requirement
238
- requirements:
315
+ version_requirements: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ~>
318
+ - !ruby/object:Gem::Version
319
+ version: '1.7'
320
+ - - ! '>='
321
+ - !ruby/object:Gem::Version
322
+ version: 1.7.1
323
+ - !ruby/object:Gem::Dependency
324
+ name: druid-tools
325
+ requirement: !ruby/object:Gem::Requirement
326
+ requirements:
239
327
  - - ~>
240
- - !ruby/object:Gem::Version
241
- version: 0.3.1
328
+ - !ruby/object:Gem::Version
329
+ version: 0.3.0
242
330
  type: :runtime
243
- version_requirements: *id022
244
- - !ruby/object:Gem::Dependency
245
- name: lyber-utils
246
331
  prerelease: false
247
- requirement: &id023 !ruby/object:Gem::Requirement
248
- requirements:
332
+ version_requirements: !ruby/object:Gem::Requirement
333
+ requirements:
334
+ - - ~>
335
+ - !ruby/object:Gem::Version
336
+ version: 0.3.0
337
+ - !ruby/object:Gem::Dependency
338
+ name: lyber-utils
339
+ requirement: !ruby/object:Gem::Requirement
340
+ requirements:
249
341
  - - ~>
250
- - !ruby/object:Gem::Version
342
+ - !ruby/object:Gem::Version
251
343
  version: 0.1.2
252
344
  type: :runtime
253
- version_requirements: *id023
254
- - !ruby/object:Gem::Dependency
255
- name: moab-versioning
256
345
  prerelease: false
257
- requirement: &id024 !ruby/object:Gem::Requirement
258
- requirements:
259
- - - "="
260
- - !ruby/object:Gem::Version
261
- version: 1.3.1
346
+ version_requirements: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - ~>
349
+ - !ruby/object:Gem::Version
350
+ version: 0.1.2
351
+ - !ruby/object:Gem::Dependency
352
+ name: moab-versioning
353
+ requirement: !ruby/object:Gem::Requirement
354
+ requirements:
355
+ - - '='
356
+ - !ruby/object:Gem::Version
357
+ version: 1.3.3
262
358
  type: :runtime
263
- version_requirements: *id024
264
- - !ruby/object:Gem::Dependency
265
- name: stanford-mods
266
359
  prerelease: false
267
- requirement: &id025 !ruby/object:Gem::Requirement
268
- requirements:
360
+ version_requirements: !ruby/object:Gem::Requirement
361
+ requirements:
362
+ - - '='
363
+ - !ruby/object:Gem::Version
364
+ version: 1.3.3
365
+ - !ruby/object:Gem::Dependency
366
+ name: stanford-mods
367
+ requirement: !ruby/object:Gem::Requirement
368
+ requirements:
269
369
  - - ~>
270
- - !ruby/object:Gem::Version
370
+ - !ruby/object:Gem::Version
271
371
  version: 0.0.14
272
372
  type: :runtime
273
- version_requirements: *id025
274
- - !ruby/object:Gem::Dependency
275
- name: fakeweb
276
373
  prerelease: false
277
- requirement: &id026 !ruby/object:Gem::Requirement
278
- requirements:
374
+ version_requirements: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - ~>
377
+ - !ruby/object:Gem::Version
378
+ version: 0.0.14
379
+ - !ruby/object:Gem::Dependency
380
+ name: fakeweb
381
+ requirement: !ruby/object:Gem::Requirement
382
+ requirements:
279
383
  - - ~>
280
- - !ruby/object:Gem::Version
384
+ - !ruby/object:Gem::Version
281
385
  version: 1.3.0
282
386
  type: :development
283
- version_requirements: *id026
284
- - !ruby/object:Gem::Dependency
285
- name: haml
286
387
  prerelease: false
287
- requirement: &id027 !ruby/object:Gem::Requirement
288
- requirements:
388
+ version_requirements: !ruby/object:Gem::Requirement
389
+ requirements:
390
+ - - ~>
391
+ - !ruby/object:Gem::Version
392
+ version: 1.3.0
393
+ - !ruby/object:Gem::Dependency
394
+ name: haml
395
+ requirement: !ruby/object:Gem::Requirement
396
+ requirements:
289
397
  - - ~>
290
- - !ruby/object:Gem::Version
398
+ - !ruby/object:Gem::Version
291
399
  version: 4.0.4
292
400
  type: :development
293
- version_requirements: *id027
294
- - !ruby/object:Gem::Dependency
295
- name: jhove-service
296
401
  prerelease: false
297
- requirement: &id028 !ruby/object:Gem::Requirement
298
- requirements:
402
+ version_requirements: !ruby/object:Gem::Requirement
403
+ requirements:
404
+ - - ~>
405
+ - !ruby/object:Gem::Version
406
+ version: 4.0.4
407
+ - !ruby/object:Gem::Dependency
408
+ name: jhove-service
409
+ requirement: !ruby/object:Gem::Requirement
410
+ requirements:
299
411
  - - ~>
300
- - !ruby/object:Gem::Version
412
+ - !ruby/object:Gem::Version
301
413
  version: 1.0.1
302
414
  type: :development
303
- version_requirements: *id028
304
- - !ruby/object:Gem::Dependency
305
- name: rake
306
415
  prerelease: false
307
- requirement: &id029 !ruby/object:Gem::Requirement
308
- requirements:
416
+ version_requirements: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ~>
419
+ - !ruby/object:Gem::Version
420
+ version: 1.0.1
421
+ - !ruby/object:Gem::Dependency
422
+ name: rake
423
+ requirement: !ruby/object:Gem::Requirement
424
+ requirements:
309
425
  - - ~>
310
- - !ruby/object:Gem::Version
426
+ - !ruby/object:Gem::Version
311
427
  version: 0.8.7
312
428
  type: :development
313
- version_requirements: *id029
314
- - !ruby/object:Gem::Dependency
315
- name: rdoc
316
429
  prerelease: false
317
- requirement: &id030 !ruby/object:Gem::Requirement
318
- requirements:
430
+ version_requirements: !ruby/object:Gem::Requirement
431
+ requirements:
432
+ - - ~>
433
+ - !ruby/object:Gem::Version
434
+ version: 0.8.7
435
+ - !ruby/object:Gem::Dependency
436
+ name: rdoc
437
+ requirement: !ruby/object:Gem::Requirement
438
+ requirements:
319
439
  - - ~>
320
- - !ruby/object:Gem::Version
440
+ - !ruby/object:Gem::Version
321
441
  version: 4.0.1
322
442
  type: :development
323
- version_requirements: *id030
324
- - !ruby/object:Gem::Dependency
325
- name: rspec
326
443
  prerelease: false
327
- requirement: &id031 !ruby/object:Gem::Requirement
328
- requirements:
444
+ version_requirements: !ruby/object:Gem::Requirement
445
+ requirements:
446
+ - - ~>
447
+ - !ruby/object:Gem::Version
448
+ version: 4.0.1
449
+ - !ruby/object:Gem::Dependency
450
+ name: rspec
451
+ requirement: !ruby/object:Gem::Requirement
452
+ requirements:
329
453
  - - ~>
330
- - !ruby/object:Gem::Version
454
+ - !ruby/object:Gem::Version
331
455
  version: 2.14.1
332
456
  type: :development
333
- version_requirements: *id031
334
- - !ruby/object:Gem::Dependency
335
- name: yard
336
457
  prerelease: false
337
- requirement: &id032 !ruby/object:Gem::Requirement
338
- requirements:
458
+ version_requirements: !ruby/object:Gem::Requirement
459
+ requirements:
460
+ - - ~>
461
+ - !ruby/object:Gem::Version
462
+ version: 2.14.1
463
+ - !ruby/object:Gem::Dependency
464
+ name: yard
465
+ requirement: !ruby/object:Gem::Requirement
466
+ requirements:
339
467
  - - ~>
340
- - !ruby/object:Gem::Version
468
+ - !ruby/object:Gem::Version
341
469
  version: 0.8.7
342
470
  type: :development
343
- version_requirements: *id032
471
+ prerelease: false
472
+ version_requirements: !ruby/object:Gem::Requirement
473
+ requirements:
474
+ - - ~>
475
+ - !ruby/object:Gem::Version
476
+ version: 0.8.7
344
477
  description: Contains classes to register objects and initialize workflows
345
- email:
478
+ email:
346
479
  - mbklein@stanford.edu
347
- executables:
480
+ executables:
348
481
  - dor-indexer
349
482
  - dor-indexerd
350
483
  extensions: []
351
-
352
484
  extra_rdoc_files: []
353
-
354
- files:
485
+ files:
355
486
  - lib/dor/config.rb
356
487
  - lib/dor/datastreams/administrative_metadata_ds.rb
357
488
  - lib/dor/datastreams/content_metadata_ds.rb
@@ -401,7 +532,7 @@ files:
401
532
  - lib/dor/models/upgradable.rb
402
533
  - lib/dor/models/versionable.rb
403
534
  - lib/dor/models/workflow_object.rb
404
- - lib/dor/services/cleanup_reset_service.rb
535
+ - lib/dor/services/archive_workspace_service.rb
405
536
  - lib/dor/services/cleanup_service.rb
406
537
  - lib/dor/services/digital_stacks_service.rb
407
538
  - lib/dor/services/merge_service.rb
@@ -409,7 +540,6 @@ files:
409
540
  - lib/dor/services/metadata_handlers/mdtoolkit_handler.rb
410
541
  - lib/dor/services/metadata_service.rb
411
542
  - lib/dor/services/registration_service.rb
412
- - lib/dor/services/reset_workspace_service.rb
413
543
  - lib/dor/services/sdr_ingest_service.rb
414
544
  - lib/dor/services/search_service.rb
415
545
  - lib/dor/services/suri_service.rb
@@ -436,30 +566,26 @@ files:
436
566
  - bin/dor-indexerd
437
567
  homepage:
438
568
  licenses: []
439
-
440
569
  metadata: {}
441
-
442
570
  post_install_message:
443
571
  rdoc_options: []
444
-
445
- require_paths:
572
+ require_paths:
446
573
  - lib
447
- required_ruby_version: !ruby/object:Gem::Requirement
448
- requirements:
449
- - - ">="
450
- - !ruby/object:Gem::Version
451
- version: "0"
452
- required_rubygems_version: !ruby/object:Gem::Requirement
453
- requirements:
454
- - - ">="
455
- - !ruby/object:Gem::Version
574
+ required_ruby_version: !ruby/object:Gem::Requirement
575
+ requirements:
576
+ - - ! '>='
577
+ - !ruby/object:Gem::Version
578
+ version: '0'
579
+ required_rubygems_version: !ruby/object:Gem::Requirement
580
+ requirements:
581
+ - - ! '>='
582
+ - !ruby/object:Gem::Version
456
583
  version: 1.3.6
457
584
  requirements: []
458
-
459
585
  rubyforge_project:
460
- rubygems_version: 2.0.14
586
+ rubygems_version: 2.1.2
461
587
  signing_key:
462
588
  specification_version: 4
463
589
  summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
464
590
  test_files: []
465
-
591
+ has_rdoc:
@@ -1,101 +0,0 @@
1
- require 'pathname'
2
-
3
- module Dor
4
-
5
- # Remove all traces of the object's data files from the workspace and export areas
6
- class CleanupResetService
7
-
8
- # @param [String] druid The identifier for the object whose reset data is to be removed
9
- # @return [void] remove copy of the reset data that was exported to preservation core
10
- def self.cleanup_by_reset_druid(druid)
11
- last_version = get_druid_last_version(druid)
12
- cleanup_reset_workspace_content(druid, last_version, Config.cleanup.local_workspace_root)
13
- cleanup_reset_workspace_content(druid, last_version, Config.cleanup.local_assembly_root)
14
- cleanup_reset_export(druid, last_version)
15
- end
16
-
17
- def self.get_druid_last_version(druid)
18
- druid_obj = Dor::Item.find(druid)
19
- last_version = druid_obj.current_version.to_i
20
-
21
- #if the current version is still open, avoid this versioned directory
22
- if Dor::WorkflowService.get_lifecycle('dor', druid, 'accessioned').nil? then
23
- last_version = last_version - 1
24
- end
25
- return last_version
26
- end
27
-
28
- # @param [String] druid The identifier for the object whose reset data is to be removed
29
- # @param [String] base The base directory to delete from
30
- # @param [Integer] last_version The last version that the data should be removed until version 1
31
- # @return [void] remove all the object's reset data files from the workspace area equal to less than the last_version
32
- def self.cleanup_reset_workspace_content(druid,last_version, base)
33
- base_druid = DruidTools::Druid.new(druid, base)
34
- base_druid_tree = base_druid.pathname.to_s
35
- #if it is truncated tree /aa/111/aaa/1111/content,
36
- #we should follow the regular cleanup technique
37
-
38
- reset_directories = get_reset_dir_list(last_version, base_druid_tree)
39
- reset_directories.each do |path|
40
- FileUtils.rm_rf(path)
41
- end
42
- base_druid.prune_ancestors(base_druid.pathname.parent)
43
- end
44
-
45
-
46
- # @param [String] druid The identifier for the object whose reset data is to be removed
47
- # @param [String] base The base directory to delete from
48
- # @param [Integer] last_version The last version that the data should be removed until version 1
49
- # @return [void] prepares a list of reset directories that should be removed
50
- def self.get_reset_dir_list(last_version, base_druid_tree)
51
- reset_directories = []
52
- for i in 1..last_version
53
- reset_path = "#{base_druid_tree}_v#{i}"
54
- reset_directories.append(reset_path) if File.exists?(reset_path)
55
- end
56
- return reset_directories
57
- end
58
-
59
- # @param [String] druid The identifier for the object whose reset bags data is to be removed
60
- # @return [void] remove copy of the reset data that was exported to preservation core
61
- def self.cleanup_reset_export(druid, last_version)
62
- id = druid.split(':').last
63
- base_bag_directory = File.join(Config.cleanup.local_export_home, id)
64
-
65
- bag_dir_list = get_reset_bag_dir_list(last_version, base_bag_directory)
66
- bag_dir_list.each do |bag_dir|
67
- Pathname(bag_dir).rmtree
68
- end
69
-
70
- bag_tar_list = get_reset_bag_tar_list(last_version, base_bag_directory)
71
- bag_tar_list.each do |bag_tar|
72
- Pathname(bag_tar).rmtree
73
- end
74
- end
75
-
76
- # @param [Integer] last_version The last version that the data should be removed until version 1
77
- # @param [String] base_bag_directory The base bag directory including the export home and druid id
78
- # @return [void] prepares a list of reset bag directories that should be removed
79
- def self.get_reset_bag_dir_list(last_version, base_bag_directory)
80
- reset_bags = []
81
- for i in 1..last_version do
82
- reset_path = "#{base_bag_directory}_v#{i}"
83
- reset_bags.append(reset_path) if File.exists?(reset_path)
84
- end
85
- return reset_bags
86
- end
87
-
88
- # @param [String] base_bag_directory The base bag directory including the export home and druid id
89
- # @param [Integer] last_version The last version that the data should be removed until version 1
90
- # @return [void] prepares a list of reset bag tars that should be removed
91
- def self.get_reset_bag_tar_list(last_version, base_bag_directory)
92
- reset_bags = []
93
- for i in 1..last_version do
94
- reset_path = "#{base_bag_directory}_v#{i}.tar"
95
- reset_bags.append(reset_path) if File.exists?(reset_path)
96
- end
97
- return reset_bags
98
- end
99
-
100
- end
101
- end
@@ -1,35 +0,0 @@
1
- module Dor
2
-
3
- # Rename the druid trees at the end of the accessionWF in order to be cleaned/deleted later.
4
- class ResetWorkspaceService
5
-
6
- def self.reset_workspace_druid_tree(druid, version, workspace_root)
7
-
8
- druid_tree_path = DruidTools::Druid.new(druid, workspace_root).pathname.to_s
9
-
10
- raise "The archived directory #{druid_tree_path}_v#{version} already existed." if File.exists?("#{druid_tree_path}_v#{version}")
11
-
12
- if File.exists?(druid_tree_path)
13
- FileUtils.mv(druid_tree_path, "#{druid_tree_path}_v#{version}")
14
- end #Else is a truncated tree where we shouldn't do anything
15
-
16
- end
17
-
18
- def self.reset_export_bag(druid, version, export_root)
19
-
20
- id = druid.split(':').last
21
- bag_dir = File.join(export_root, id)
22
-
23
- raise "The archived bag #{bag_dir}_v#{version} already existed." if File.exists?("#{bag_dir}_v#{version}")
24
-
25
- if File.exists?(bag_dir)
26
- FileUtils.mv(bag_dir, "#{bag_dir}_v#{version}")
27
- end
28
-
29
- if File.exists?("#{bag_dir}.tar")
30
- FileUtils.mv("#{bag_dir}.tar", "#{bag_dir}_v#{version}.tar")
31
- end
32
- end
33
-
34
- end
35
- end