ddr-models 1.8.1 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/app/controllers/users/omniauth_callbacks_controller.rb +11 -0
  4. data/app/controllers/users/sessions_controller.rb +7 -0
  5. data/app/controllers/users/sessions_controller.rb~ +11 -0
  6. data/config/initializers/devise.rb +15 -1
  7. data/config/routes.rb +4 -0
  8. data/lib/ddr/auth/user.rb +17 -4
  9. data/lib/ddr/managers/#index_manager.rb# +21 -0
  10. data/lib/ddr/models/#index_fields.rb# +13 -0
  11. data/lib/ddr/models/engine.rb +3 -22
  12. data/lib/ddr/models/version.rb +1 -1
  13. data/spec/dummy/config/routes.rb +0 -54
  14. data/spec/dummy/db/development.sqlite3 +0 -0
  15. data/spec/dummy/log/development.log +4702 -0
  16. data/spec/dummy/log/production.log +5 -0
  17. data/spec/dummy/log/test.log +50543 -0
  18. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  19. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  20. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  21. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  22. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  23. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  24. metadata +44 -26
  25. data/db/migrate/20150109192134_drop_workflow_state.rb~ +0 -11
  26. data/db/migrate/20150110023410_drop_workflow_states.rb~ +0 -4
  27. data/lib/ddr/datastreams/admin_metadata_datastream.rb~ +0 -13
  28. data/lib/ddr/index.rb~ +0 -8
  29. data/lib/ddr/managers/index_manager.rb~ +0 -7
  30. data/lib/ddr/managers/manager.rb~ +0 -14
  31. data/lib/ddr/managers/role_manager.rb~ +0 -21
  32. data/lib/ddr/managers/workflow_manager.rb~ +0 -33
  33. data/lib/ddr/models/#index.rb# +0 -25
  34. data/lib/ddr/models/#indexing.rb# +0 -108
  35. data/lib/ddr/models/has_admin_metadata.rb~ +0 -34
  36. data/lib/ddr/vocab.rb~ +0 -9
  37. data/lib/ddr/vocab/workflow.rb~ +0 -7
  38. data/spec/models/has_admin_metadata_spec.rb~ +0 -144
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.8.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-13 00:00:00.000000000 Z
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-remote-user
99
+ name: devise
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '0'
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: '0'
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: '0'
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: '0'
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/index_manager.rb~
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/#index.rb#
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,11 +0,0 @@
1
- class DropWorkflowState < ActiveRecord::Migration
2
- def up
3
- if table_exists?("workflow_states")
4
- drop_table "workflow_states"
5
- end
6
- end
7
-
8
- def down
9
- raise ActiveRecord::IrreversibleMigration
10
- end
11
- end
@@ -1,4 +0,0 @@
1
- class DropWorkflowStates < ActiveRecord::Migration
2
- def change
3
- end
4
- end
@@ -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,8 +0,0 @@
1
- module Ddr
2
- module Index
3
- extend ActiveSupport::Autoload
4
-
5
- autoload :Fields
6
-
7
- end
8
- end
@@ -1,7 +0,0 @@
1
- module Ddr
2
- module Managers
3
- class IndexManager < Manager
4
-
5
- end
6
- end
7
- end
@@ -1,14 +0,0 @@
1
- module Ddr
2
- module Managers
3
- # @abstract
4
- class Manager
5
-
6
- attr_reader :object
7
-
8
- def initialize
9
- @object = object
10
- end
11
-
12
- end
13
- end
14
- end
@@ -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
-
@@ -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