ddr-models 1.8.1 → 1.9.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 +4 -4
- data/Rakefile +1 -1
- data/app/controllers/users/omniauth_callbacks_controller.rb +11 -0
- data/app/controllers/users/sessions_controller.rb +7 -0
- data/app/controllers/users/sessions_controller.rb~ +11 -0
- data/config/initializers/devise.rb +15 -1
- data/config/routes.rb +4 -0
- data/lib/ddr/auth/user.rb +17 -4
- data/lib/ddr/managers/#index_manager.rb# +21 -0
- data/lib/ddr/models/#index_fields.rb# +13 -0
- data/lib/ddr/models/engine.rb +3 -22
- data/lib/ddr/models/version.rb +1 -1
- data/spec/dummy/config/routes.rb +0 -54
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/log/development.log +4702 -0
- data/spec/dummy/log/production.log +5 -0
- data/spec/dummy/log/test.log +50543 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- metadata +44 -26
- data/db/migrate/20150109192134_drop_workflow_state.rb~ +0 -11
- data/db/migrate/20150110023410_drop_workflow_states.rb~ +0 -4
- data/lib/ddr/datastreams/admin_metadata_datastream.rb~ +0 -13
- data/lib/ddr/index.rb~ +0 -8
- data/lib/ddr/managers/index_manager.rb~ +0 -7
- data/lib/ddr/managers/manager.rb~ +0 -14
- data/lib/ddr/managers/role_manager.rb~ +0 -21
- data/lib/ddr/managers/workflow_manager.rb~ +0 -33
- data/lib/ddr/models/#index.rb# +0 -25
- data/lib/ddr/models/#indexing.rb# +0 -108
- data/lib/ddr/models/has_admin_metadata.rb~ +0 -34
- data/lib/ddr/vocab.rb~ +0 -9
- data/lib/ddr/vocab/workflow.rb~ +0 -7
- data/spec/models/has_admin_metadata_spec.rb~ +0 -144
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddr-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Coble
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-01-
|
12
|
+
date: 2015-01-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -96,19 +96,33 @@ dependencies:
|
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: 1.3.1
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name: devise
|
99
|
+
name: devise
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- - "
|
102
|
+
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
104
|
+
version: '3.4'
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- - "
|
109
|
+
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
111
|
+
version: '3.4'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: omniauth-shibboleth
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.2.0
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.2.0
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: grouper-rest-client
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -239,16 +253,16 @@ dependencies:
|
|
239
253
|
name: jettywrapper
|
240
254
|
requirement: !ruby/object:Gem::Requirement
|
241
255
|
requirements:
|
242
|
-
- - "
|
256
|
+
- - "~>"
|
243
257
|
- !ruby/object:Gem::Version
|
244
|
-
version: '
|
258
|
+
version: '1.8'
|
245
259
|
type: :development
|
246
260
|
prerelease: false
|
247
261
|
version_requirements: !ruby/object:Gem::Requirement
|
248
262
|
requirements:
|
249
|
-
- - "
|
263
|
+
- - "~>"
|
250
264
|
- !ruby/object:Gem::Version
|
251
|
-
version: '
|
265
|
+
version: '1.8'
|
252
266
|
- !ruby/object:Gem::Dependency
|
253
267
|
name: database_cleaner
|
254
268
|
requirement: !ruby/object:Gem::Requirement
|
@@ -273,6 +287,9 @@ files:
|
|
273
287
|
- LICENSE.txt
|
274
288
|
- README.md
|
275
289
|
- Rakefile
|
290
|
+
- app/controllers/users/omniauth_callbacks_controller.rb
|
291
|
+
- app/controllers/users/sessions_controller.rb
|
292
|
+
- app/controllers/users/sessions_controller.rb~
|
276
293
|
- app/models/attachment.rb
|
277
294
|
- app/models/collection.rb
|
278
295
|
- app/models/component.rb
|
@@ -290,9 +307,7 @@ files:
|
|
290
307
|
- db/migrate/20141107124012_add_columns_to_user.rb
|
291
308
|
- db/migrate/20141216040225_drop_minted_ids.rb
|
292
309
|
- db/migrate/20141218020612_add_exception_to_events.rb
|
293
|
-
- db/migrate/20150109192134_drop_workflow_state.rb~
|
294
310
|
- db/migrate/20150110023410_drop_workflow_states.rb
|
295
|
-
- db/migrate/20150110023410_drop_workflow_states.rb~
|
296
311
|
- lib/ddr-models.rb
|
297
312
|
- lib/ddr/actions.rb
|
298
313
|
- lib/ddr/actions/fixity_check.rb
|
@@ -305,7 +320,6 @@ files:
|
|
305
320
|
- lib/ddr/auth/user.rb
|
306
321
|
- lib/ddr/datastreams.rb
|
307
322
|
- lib/ddr/datastreams/admin_metadata_datastream.rb
|
308
|
-
- lib/ddr/datastreams/admin_metadata_datastream.rb~
|
309
323
|
- lib/ddr/datastreams/content_metadata_datastream.rb
|
310
324
|
- lib/ddr/datastreams/datastream_behavior.rb
|
311
325
|
- lib/ddr/datastreams/descriptive_metadata_datastream.rb
|
@@ -323,17 +337,13 @@ files:
|
|
323
337
|
- lib/ddr/events/update_event.rb
|
324
338
|
- lib/ddr/events/validation_event.rb
|
325
339
|
- lib/ddr/events/virus_check_event.rb
|
326
|
-
- lib/ddr/index.rb~
|
327
340
|
- lib/ddr/index_fields.rb
|
328
341
|
- lib/ddr/managers.rb
|
329
|
-
- lib/ddr/managers
|
342
|
+
- lib/ddr/managers/#index_manager.rb#
|
330
343
|
- lib/ddr/managers/manager.rb
|
331
|
-
- lib/ddr/managers/manager.rb~
|
332
344
|
- lib/ddr/managers/permanent_id_manager.rb
|
333
345
|
- lib/ddr/managers/role_manager.rb
|
334
|
-
- lib/ddr/managers/role_manager.rb~
|
335
346
|
- lib/ddr/managers/workflow_manager.rb
|
336
|
-
- lib/ddr/managers/workflow_manager.rb~
|
337
347
|
- lib/ddr/metadata.rb
|
338
348
|
- lib/ddr/metadata/#permanent_id_record.rb#
|
339
349
|
- lib/ddr/metadata/duke_terms.rb
|
@@ -344,8 +354,7 @@ files:
|
|
344
354
|
- lib/ddr/models.rb
|
345
355
|
- lib/ddr/models/#has_ezid_identifier.rb#
|
346
356
|
- lib/ddr/models/#has_permanent_identifier.rb#
|
347
|
-
- lib/ddr/models/#
|
348
|
-
- lib/ddr/models/#indexing.rb#
|
357
|
+
- lib/ddr/models/#index_fields.rb#
|
349
358
|
- lib/ddr/models/access_controllable.rb
|
350
359
|
- lib/ddr/models/base.rb
|
351
360
|
- lib/ddr/models/describable.rb
|
@@ -356,7 +365,6 @@ files:
|
|
356
365
|
- lib/ddr/models/fixity_checkable.rb
|
357
366
|
- lib/ddr/models/governable.rb
|
358
367
|
- lib/ddr/models/has_admin_metadata.rb
|
359
|
-
- lib/ddr/models/has_admin_metadata.rb~
|
360
368
|
- lib/ddr/models/has_attachments.rb
|
361
369
|
- lib/ddr/models/has_children.rb
|
362
370
|
- lib/ddr/models/has_content.rb
|
@@ -370,10 +378,8 @@ files:
|
|
370
378
|
- lib/ddr/notifications.rb
|
371
379
|
- lib/ddr/utils.rb
|
372
380
|
- lib/ddr/vocab.rb
|
373
|
-
- lib/ddr/vocab.rb~
|
374
381
|
- lib/ddr/vocab/asset.rb
|
375
382
|
- lib/ddr/vocab/roles.rb
|
376
|
-
- lib/ddr/vocab/workflow.rb~
|
377
383
|
- spec/dummy/README.rdoc
|
378
384
|
- spec/dummy/Rakefile
|
379
385
|
- spec/dummy/app/assets/javascripts/application.js
|
@@ -409,11 +415,18 @@ files:
|
|
409
415
|
- spec/dummy/db/schema.rb
|
410
416
|
- spec/dummy/db/test.sqlite3
|
411
417
|
- spec/dummy/log/development.log
|
418
|
+
- spec/dummy/log/production.log
|
412
419
|
- spec/dummy/log/test.log
|
413
420
|
- spec/dummy/public/404.html
|
414
421
|
- spec/dummy/public/422.html
|
415
422
|
- spec/dummy/public/500.html
|
416
423
|
- spec/dummy/public/favicon.ico
|
424
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
|
425
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
|
426
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
|
427
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
|
428
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
|
429
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
417
430
|
- spec/factories/attachment_factories.rb
|
418
431
|
- spec/factories/collection_factories.rb
|
419
432
|
- spec/factories/component_factories.rb
|
@@ -440,7 +453,6 @@ files:
|
|
440
453
|
- spec/models/events_spec.rb
|
441
454
|
- spec/models/file_management_spec.rb
|
442
455
|
- spec/models/has_admin_metadata_spec.rb
|
443
|
-
- spec/models/has_admin_metadata_spec.rb~
|
444
456
|
- spec/models/item_spec.rb
|
445
457
|
- spec/models/superuser_spec.rb
|
446
458
|
- spec/models/target_spec.rb
|
@@ -517,6 +529,7 @@ test_files:
|
|
517
529
|
- spec/dummy/db/schema.rb
|
518
530
|
- spec/dummy/db/test.sqlite3
|
519
531
|
- spec/dummy/log/development.log
|
532
|
+
- spec/dummy/log/production.log
|
520
533
|
- spec/dummy/log/test.log
|
521
534
|
- spec/dummy/public/404.html
|
522
535
|
- spec/dummy/public/422.html
|
@@ -524,6 +537,12 @@ test_files:
|
|
524
537
|
- spec/dummy/public/favicon.ico
|
525
538
|
- spec/dummy/Rakefile
|
526
539
|
- spec/dummy/README.rdoc
|
540
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
|
541
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
|
542
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
|
543
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
|
544
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
|
545
|
+
- spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
527
546
|
- spec/factories/attachment_factories.rb
|
528
547
|
- spec/factories/collection_factories.rb
|
529
548
|
- spec/factories/component_factories.rb
|
@@ -550,7 +569,6 @@ test_files:
|
|
550
569
|
- spec/models/events_spec.rb
|
551
570
|
- spec/models/file_management_spec.rb
|
552
571
|
- spec/models/has_admin_metadata_spec.rb
|
553
|
-
- spec/models/has_admin_metadata_spec.rb~
|
554
572
|
- spec/models/item_spec.rb
|
555
573
|
- spec/models/superuser_spec.rb
|
556
574
|
- spec/models/target_spec.rb
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module Ddr
|
2
|
-
module Datastreams
|
3
|
-
class AdminMetadataDatastream < ActiveFedora::NtriplesRDFDatastream
|
4
|
-
|
5
|
-
property :permanent_id,
|
6
|
-
predicate: Ddr::Vocab::Preservation.permanentId
|
7
|
-
|
8
|
-
property :permanent_url,
|
9
|
-
predicate: Ddr::Vocab::Preservation.permanentUrl
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
data/lib/ddr/index.rb~
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
module Ddr
|
2
|
-
module Managers
|
3
|
-
class RoleManager
|
4
|
-
|
5
|
-
attr_reader :object
|
6
|
-
|
7
|
-
def initialize(object)
|
8
|
-
@object = object
|
9
|
-
end
|
10
|
-
|
11
|
-
def principal_has_role?(principal, role)
|
12
|
-
( principals(role) & Array(principal) ).any?
|
13
|
-
end
|
14
|
-
|
15
|
-
def principals(role)
|
16
|
-
object.adminMetadata.send(role)
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Ddr
|
2
|
-
module Managers
|
3
|
-
class WorkflowManager < Manager
|
4
|
-
|
5
|
-
PUBLISHED = "published"
|
6
|
-
UNPUBLISHED = nil
|
7
|
-
|
8
|
-
def published?
|
9
|
-
object.workflow_state == PUBLISHED
|
10
|
-
end
|
11
|
-
|
12
|
-
def publish
|
13
|
-
object.workflow_state = PUBLISHED
|
14
|
-
end
|
15
|
-
|
16
|
-
def publish!
|
17
|
-
publish
|
18
|
-
object.save
|
19
|
-
end
|
20
|
-
|
21
|
-
def unpublish
|
22
|
-
object.workflow_state = UNPUBLISHED
|
23
|
-
end
|
24
|
-
|
25
|
-
def unpublish!
|
26
|
-
unpublish
|
27
|
-
object.save
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
data/lib/ddr/models/#index.rb#
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
module Ddr
|
2
|
-
module Models
|
3
|
-
class Index
|
4
|
-
|
5
|
-
Field = Struct.new(:name, :index_as, :method)
|
6
|
-
|
7
|
-
def fields
|
8
|
-
@fields ||= {}
|
9
|
-
end
|
10
|
-
|
11
|
-
def field(key, *index_as)
|
12
|
-
raise "Field :#{key} already indexed." if fields.include?(key)
|
13
|
-
fields[key] = Field.new.tap do |f|
|
14
|
-
f.name = ActiveFedora::SolrService.solr_name(key, *index_as)
|
15
|
-
f.index_as = index_as
|
16
|
-
yield f if block_given?
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def [](key)
|
21
|
-
fields[key]
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,108 +0,0 @@
|
|
1
|
-
module Ddr
|
2
|
-
module Models
|
3
|
-
module Indexing
|
4
|
-
extend ActiveSupport::Autoloading
|
5
|
-
|
6
|
-
included do
|
7
|
-
def self.index(&block)
|
8
|
-
if block_given?
|
9
|
-
index.instance_eval(&block)
|
10
|
-
else
|
11
|
-
@@index ||= Index.new
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
class Index
|
17
|
-
Field = Struct.new(:name, :index_as, :method)
|
18
|
-
|
19
|
-
class << self
|
20
|
-
def fields
|
21
|
-
@fields ||= {}
|
22
|
-
end
|
23
|
-
|
24
|
-
def field(key, *index_as)
|
25
|
-
raise "Field :#{key} already indexed." if fields.include?(key)
|
26
|
-
fields[key] = Field.new.tap do |f|
|
27
|
-
f.name = ActiveFedora::SolrService.solr_name(key, *index_as)
|
28
|
-
f.index_as = index_as
|
29
|
-
yield f if block_given?
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def [](key)
|
34
|
-
fields[key]
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.index(&block)
|
40
|
-
Index.instance_eval(&block)
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
def to_solr(solr_doc=Hash.new, opts={})
|
45
|
-
solr_doc = super(solr_doc, opts)
|
46
|
-
index.fields.values.each_with_object(solr_doc) do |field, doc|
|
47
|
-
if method = field.method
|
48
|
-
doc[field.name] = method.is_a?(Symbol) ? send(method) : instance_eval(method)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def index
|
54
|
-
Index
|
55
|
-
end
|
56
|
-
|
57
|
-
# def index_fields
|
58
|
-
# fields = {
|
59
|
-
# TITLE => title_display,
|
60
|
-
# INTERNAL_URI => internal_uri,
|
61
|
-
# IDENTIFIER => identifier_sort,
|
62
|
-
# WORKFLOW_STATE => workflow_state
|
63
|
-
# }
|
64
|
-
# if permanent_id.present?
|
65
|
-
# fields[PERMANENT_ID] = permanent_id
|
66
|
-
# end
|
67
|
-
# if permanent_url.present?
|
68
|
-
# fields[PERMANENT_URL] = permanent_url
|
69
|
-
# end
|
70
|
-
# if respond_to? :fixity_checks
|
71
|
-
# last_fixity_check = fixity_checks.last
|
72
|
-
# fields.merge!(last_fixity_check.to_solr) if last_fixity_check
|
73
|
-
# end
|
74
|
-
# if respond_to? :virus_checks
|
75
|
-
# last_virus_check = virus_checks.last
|
76
|
-
# fields.merge!(last_virus_check.to_solr) if last_virus_check
|
77
|
-
# end
|
78
|
-
# if respond_to?(:original_filename) && original_filename.present?
|
79
|
-
# fields[ORIGINAL_FILENAME] = original_filename
|
80
|
-
# end
|
81
|
-
# if has_content?
|
82
|
-
# fields[CONTENT_CONTROL_GROUP] = content.controlGroup
|
83
|
-
# fields[CONTENT_SIZE] = content_size
|
84
|
-
# fields[CONTENT_SIZE_HUMAN] = content_human_size
|
85
|
-
# fields[MEDIA_TYPE] = content_type
|
86
|
-
# fields[MEDIA_MAJOR_TYPE] = content_major_type
|
87
|
-
# fields[MEDIA_SUB_TYPE] = content_sub_type
|
88
|
-
# end
|
89
|
-
# if is_a? Component
|
90
|
-
# fields[COLLECTION_URI] = collection_uri
|
91
|
-
# end
|
92
|
-
# fields
|
93
|
-
# end
|
94
|
-
|
95
|
-
def title_display
|
96
|
-
return title.first if title.present?
|
97
|
-
return identifier.first if identifier.present?
|
98
|
-
return original_filename if respond_to?(:original_filename) && original_filename.present?
|
99
|
-
"[#{pid}]"
|
100
|
-
end
|
101
|
-
|
102
|
-
def identifier_sort
|
103
|
-
identifier.first
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|