hydra-head 4.0.0.rc2 → 4.0.0.rc3
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.
- data/Gemfile +8 -1
- data/Gemfile.lock +46 -46
- data/HISTORY.textile +2 -0
- data/app/controllers/hydra/application_controller.rb +5 -0
- data/app/controllers/hydra/contributors_controller.rb +2 -1
- data/app/controllers/hydra/permissions_controller.rb +2 -2
- data/app/helpers/hydra/hydra_assets_helper_behavior.rb +4 -3
- data/app/models/ability.rb +97 -0
- data/app/models/common_metadata_asset.rb +2 -2
- data/app/models/generic_content.rb +2 -4
- data/app/models/generic_image.rb +3 -3
- data/app/models/hydra/datastream/common_mods_index_methods.rb +45 -0
- data/app/models/hydra/datastream/mods_article.rb +528 -0
- data/app/models/hydra/datastream/mods_dataset.rb +166 -0
- data/app/models/hydra/datastream/mods_generic_content.rb +496 -0
- data/app/models/hydra/datastream/mods_image.rb +496 -0
- data/app/models/hydra/datastream/rights_metadata.rb +190 -0
- data/app/models/mods_asset.rb +4 -4
- data/app/models/uses_default_partials.rb +2 -2
- data/app/views/catalog/_edit_partials/_default.html.erb +1 -1
- data/app/views/catalog/show.html.erb +1 -1
- data/app/views/contributors/_edit_conference.html.erb +1 -1
- data/app/views/contributors/_edit_organization.html.erb +1 -1
- data/app/views/contributors/_edit_person.html.erb +1 -1
- data/app/views/contributors/_show_organization.html.erb +1 -1
- data/app/views/hydra/file_assets/_index.html.erb +1 -1
- data/app/views/hydra/file_assets/_result.html.erb +1 -1
- data/app/views/hydra/permissions/index.html.erb +1 -1
- data/app/views/hydra/permissions/new.html.erb +1 -1
- data/app/views/mods_assets/_show_permissions.html.erb +1 -1
- data/hydra-head.gemspec +4 -6
- data/lib/hydra/access_controls_enforcement.rb +10 -6
- data/lib/hydra/access_controls_evaluation.rb +7 -71
- data/lib/hydra/assets.rb +1 -4
- data/lib/hydra/common_mods_index_methods.rb +5 -0
- data/lib/hydra/controller.rb +4 -7
- data/lib/hydra/file_assets.rb +3 -8
- data/lib/hydra/model_methods.rb +3 -2
- data/lib/hydra/model_mixins/common_metadata.rb +2 -2
- data/lib/hydra/model_mixins/mods_object.rb +3 -3
- data/lib/hydra/models/file_asset.rb +3 -3
- data/lib/hydra/mods_article.rb +7 -1
- data/lib/hydra/mods_dataset.rb +8 -0
- data/lib/hydra/mods_generic_content.rb +5 -0
- data/lib/hydra/mods_image.rb +5 -0
- data/lib/hydra/repository_controller.rb +14 -15
- data/lib/hydra/rights_metadata.rb +5 -1
- data/lib/hydra/submission_workflow.rb +1 -1
- data/lib/hydra-head/version.rb +1 -1
- data/lib/hydra.rb +1 -0
- data/lib/mediashelf/active_fedora_helper.rb +71 -0
- data/lib/uva/mods_index_methods.rb +5 -0
- data/test_support/etc/Gemfile +3 -2
- data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +5 -7
- data/test_support/spec/controllers/file_assets_controller_spec.rb +3 -14
- data/test_support/spec/controllers/hydra-assets_controller_spec.rb +2 -2
- data/test_support/spec/helpers/access_controls_enforcement_spec.rb +14 -0
- data/test_support/spec/helpers/access_controls_evaluation_spec.rb +7 -16
- data/test_support/spec/helpers/hydra-repository_controller_spec.rb +0 -14
- data/test_support/spec/helpers/hydra_assets_helper_spec.rb +11 -11
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +2 -2
- data/test_support/spec/integration/file_asset_spec.rb +0 -1
- data/test_support/spec/lib/common_mods_index_methods_spec.rb +1 -1
- data/test_support/spec/lib/hydra_submission_workflow_spec.rb +1 -1
- data/test_support/spec/models/ability_spec.rb +16 -0
- data/test_support/spec/models/file_asset_spec.rb +0 -1
- data/test_support/spec/models/hydra_rights_metadata_spec.rb +4 -5
- data/test_support/spec/models/mods_asset_spec.rb +2 -11
- data/vendor/cache/{active-fedora-4.0.0.rc13.gem → active-fedora-4.0.0.rc18.gem} +0 -0
- data/vendor/cache/blacklight-3.3.1.gem +0 -0
- data/vendor/cache/cancan-1.6.7.gem +0 -0
- data/vendor/cache/compass-0.12.1.gem +0 -0
- data/vendor/cache/compass-rails-1.0.1.gem +0 -0
- data/vendor/cache/compass-susy-plugin-0.9.gem +0 -0
- data/vendor/cache/factory_girl-2.6.4.gem +0 -0
- data/vendor/cache/gherkin-2.9.1.gem +0 -0
- data/vendor/cache/mail-2.4.4.gem +0 -0
- data/vendor/cache/nokogiri-1.5.2.gem +0 -0
- data/vendor/cache/om-1.6.0.rc3.gem +0 -0
- data/vendor/cache/orm_adapter-0.0.7.gem +0 -0
- data/vendor/cache/rack-cache-1.2.gem +0 -0
- data/vendor/cache/rspec-2.9.0.gem +0 -0
- data/vendor/cache/rspec-core-2.9.0.gem +0 -0
- data/vendor/cache/rspec-expectations-2.9.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.9.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.9.0.gem +0 -0
- data/vendor/cache/sass-rails-3.2.5.gem +0 -0
- data/vendor/cache/stomp-1.2.2.gem +0 -0
- metadata +71 -59
- data/lib/hydra/image.rb +0 -178
- data/uninstall.rb +0 -1
- data/vendor/cache/compass-0.12.rc.1.gem +0 -0
- data/vendor/cache/factory_girl-2.6.1.gem +0 -0
- data/vendor/cache/gherkin-2.9.0.gem +0 -0
- data/vendor/cache/mail-2.4.3.gem +0 -0
- data/vendor/cache/nokogiri-1.5.0.gem +0 -0
- data/vendor/cache/om-1.5.3.gem +0 -0
- data/vendor/cache/orm_adapter-0.0.6.gem +0 -0
- data/vendor/cache/rack-cache-1.1.gem +0 -0
- data/vendor/cache/rspec-2.6.0.gem +0 -0
- data/vendor/cache/rspec-core-2.6.4.gem +0 -0
- data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
- data/vendor/cache/sass-rails-3.2.4.gem +0 -0
- data/vendor/cache/stomp-1.2.1.gem +0 -0
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-head
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.rc3
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-03-
|
13
|
+
date: 2012-03-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
|
-
requirement: &
|
17
|
+
requirement: &70261450818920 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,21 +22,21 @@ dependencies:
|
|
22
22
|
version: 3.2.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70261450818920
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: blacklight
|
28
|
-
requirement: &
|
28
|
+
requirement: &70261450817940 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 3.3.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70261450817940
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: devise
|
39
|
-
requirement: &
|
39
|
+
requirement: &70261450817260 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,21 +44,21 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70261450817260
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: active-fedora
|
50
|
-
requirement: &
|
50
|
+
requirement: &70261450816280 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 4.0.0.
|
55
|
+
version: 4.0.0.rc18
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70261450816280
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: RedCloth
|
61
|
-
requirement: &
|
61
|
+
requirement: &70261450815340 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - =
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 4.2.9
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70261450815340
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: solrizer-fedora
|
72
|
-
requirement: &
|
72
|
+
requirement: &70261450814520 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.2.5
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70261450814520
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: block_helpers
|
83
|
-
requirement: &
|
83
|
+
requirement: &70261450813780 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70261450813780
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: sanitize
|
94
|
-
requirement: &
|
94
|
+
requirement: &70261450812920 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,21 +99,21 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70261450812920
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
105
|
-
requirement: &
|
104
|
+
name: cancan
|
105
|
+
requirement: &70261450812300 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ! '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: '0'
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70261450812300
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: sqlite3-ruby
|
116
|
-
requirement: &
|
116
|
+
requirement: &70261450811800 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70261450811800
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: yard
|
127
|
-
requirement: &
|
127
|
+
requirement: &70261450827640 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *70261450827640
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: jettywrapper
|
138
|
-
requirement: &
|
138
|
+
requirement: &70261450826800 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ! '>='
|
@@ -143,21 +143,21 @@ dependencies:
|
|
143
143
|
version: 1.0.4
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *70261450826800
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: rspec-rails
|
149
|
-
requirement: &
|
149
|
+
requirement: &70261450826060 !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
152
|
-
- -
|
152
|
+
- - ! '>='
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
154
|
+
version: '0'
|
155
155
|
type: :development
|
156
156
|
prerelease: false
|
157
|
-
version_requirements: *
|
157
|
+
version_requirements: *70261450826060
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: mocha
|
160
|
-
requirement: &
|
160
|
+
requirement: &70261450825200 !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
163
163
|
- - ! '>='
|
@@ -165,10 +165,10 @@ dependencies:
|
|
165
165
|
version: '0'
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
|
-
version_requirements: *
|
168
|
+
version_requirements: *70261450825200
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: cucumber-rails
|
171
|
-
requirement: &
|
171
|
+
requirement: &70261450824560 !ruby/object:Gem::Requirement
|
172
172
|
none: false
|
173
173
|
requirements:
|
174
174
|
- - ! '>='
|
@@ -176,10 +176,10 @@ dependencies:
|
|
176
176
|
version: 1.2.0
|
177
177
|
type: :development
|
178
178
|
prerelease: false
|
179
|
-
version_requirements: *
|
179
|
+
version_requirements: *70261450824560
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
181
|
name: factory_girl
|
182
|
-
requirement: &
|
182
|
+
requirement: &70261450824020 !ruby/object:Gem::Requirement
|
183
183
|
none: false
|
184
184
|
requirements:
|
185
185
|
- - ! '>='
|
@@ -187,7 +187,7 @@ dependencies:
|
|
187
187
|
version: '0'
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
|
-
version_requirements: *
|
190
|
+
version_requirements: *70261450824020
|
191
191
|
description: ! 'Hydra-Head is a Rails Engine containing the core code for a Hydra
|
192
192
|
application. The full hydra stack includes: Blacklight, Fedora, Solr, active-fedora,
|
193
193
|
solrizer, and om'
|
@@ -296,6 +296,7 @@ files:
|
|
296
296
|
- app/assets/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png
|
297
297
|
- app/assets/stylesheets/redmond/jquery-ui-1.8.5.custom.css
|
298
298
|
- app/controllers/downloads_controller.rb
|
299
|
+
- app/controllers/hydra/application_controller.rb
|
299
300
|
- app/controllers/hydra/assets_controller.rb
|
300
301
|
- app/controllers/hydra/contributors_controller.rb
|
301
302
|
- app/controllers/hydra/file_assets_controller.rb
|
@@ -327,11 +328,18 @@ files:
|
|
327
328
|
- app/helpers/javascript_includes_helper.rb
|
328
329
|
- app/helpers/personalization_helper.rb
|
329
330
|
- app/helpers/release_process_helper.rb
|
331
|
+
- app/models/ability.rb
|
330
332
|
- app/models/audio_asset.rb
|
331
333
|
- app/models/common_metadata_asset.rb
|
332
334
|
- app/models/file_asset.rb
|
333
335
|
- app/models/generic_content.rb
|
334
336
|
- app/models/generic_image.rb
|
337
|
+
- app/models/hydra/datastream/common_mods_index_methods.rb
|
338
|
+
- app/models/hydra/datastream/mods_article.rb
|
339
|
+
- app/models/hydra/datastream/mods_dataset.rb
|
340
|
+
- app/models/hydra/datastream/mods_generic_content.rb
|
341
|
+
- app/models/hydra/datastream/mods_image.rb
|
342
|
+
- app/models/hydra/datastream/rights_metadata.rb
|
335
343
|
- app/models/image_asset.rb
|
336
344
|
- app/models/mods_asset.rb
|
337
345
|
- app/models/role_mapper.rb
|
@@ -484,7 +492,6 @@ files:
|
|
484
492
|
- lib/hydra/generic_content.rb
|
485
493
|
- lib/hydra/generic_image.rb
|
486
494
|
- lib/hydra/generic_user_attributes.rb
|
487
|
-
- lib/hydra/image.rb
|
488
495
|
- lib/hydra/model_methods.rb
|
489
496
|
- lib/hydra/model_mixins.rb
|
490
497
|
- lib/hydra/model_mixins/common_metadata.rb
|
@@ -505,6 +512,7 @@ files:
|
|
505
512
|
- lib/hydra/workflow/controller.rb
|
506
513
|
- lib/marc_mapper.rb
|
507
514
|
- lib/marc_record_ext.rb
|
515
|
+
- lib/mediashelf/active_fedora_helper.rb
|
508
516
|
- lib/prev_next_links.rb
|
509
517
|
- lib/railties/active-fedora.rake
|
510
518
|
- lib/railties/all_tests.rake
|
@@ -621,6 +629,7 @@ files:
|
|
621
629
|
- test_support/spec/lib/catalog_spec.rb
|
622
630
|
- test_support/spec/lib/common_mods_index_methods_spec.rb
|
623
631
|
- test_support/spec/lib/hydra_submission_workflow_spec.rb
|
632
|
+
- test_support/spec/models/ability_spec.rb
|
624
633
|
- test_support/spec/models/audio_asset_spec.rb
|
625
634
|
- test_support/spec/models/file_asset_spec.rb
|
626
635
|
- test_support/spec/models/generic_content_spec.rb
|
@@ -639,11 +648,10 @@ files:
|
|
639
648
|
- test_support/spec/unit/hydra-head-engine_spec.rb
|
640
649
|
- test_support/spec/unit/hydra-head_spec.rb
|
641
650
|
- tmp/.placeholder
|
642
|
-
- uninstall.rb
|
643
651
|
- vendor/cache/RedCloth-4.2.9.gem
|
644
652
|
- vendor/cache/actionmailer-3.2.2.gem
|
645
653
|
- vendor/cache/actionpack-3.2.2.gem
|
646
|
-
- vendor/cache/active-fedora-4.0.0.
|
654
|
+
- vendor/cache/active-fedora-4.0.0.rc18.gem
|
647
655
|
- vendor/cache/activemodel-3.2.2.gem
|
648
656
|
- vendor/cache/activerecord-3.2.2.gem
|
649
657
|
- vendor/cache/activeresource-3.2.2.gem
|
@@ -652,12 +660,16 @@ files:
|
|
652
660
|
- vendor/cache/akami-1.0.0.gem
|
653
661
|
- vendor/cache/arel-3.0.2.gem
|
654
662
|
- vendor/cache/bcrypt-ruby-3.0.1.gem
|
663
|
+
- vendor/cache/blacklight-3.3.1.gem
|
655
664
|
- vendor/cache/block_helpers-0.3.3.gem
|
656
665
|
- vendor/cache/builder-3.0.0.gem
|
666
|
+
- vendor/cache/cancan-1.6.7.gem
|
657
667
|
- vendor/cache/capybara-1.1.2.gem
|
658
668
|
- vendor/cache/childprocess-0.3.1.gem
|
659
669
|
- vendor/cache/chunky_png-1.2.5.gem
|
660
|
-
- vendor/cache/compass-0.12.
|
670
|
+
- vendor/cache/compass-0.12.1.gem
|
671
|
+
- vendor/cache/compass-rails-1.0.1.gem
|
672
|
+
- vendor/cache/compass-susy-plugin-0.9.gem
|
661
673
|
- vendor/cache/cucumber-1.1.9.gem
|
662
674
|
- vendor/cache/cucumber-rails-1.3.0.gem
|
663
675
|
- vendor/cache/daemons-1.1.8.gem
|
@@ -665,11 +677,11 @@ files:
|
|
665
677
|
- vendor/cache/diff-lcs-1.1.3.gem
|
666
678
|
- vendor/cache/equivalent-xml-0.2.9.gem
|
667
679
|
- vendor/cache/erubis-2.7.0.gem
|
668
|
-
- vendor/cache/factory_girl-2.6.
|
680
|
+
- vendor/cache/factory_girl-2.6.4.gem
|
669
681
|
- vendor/cache/fastercsv-1.5.4.gem
|
670
682
|
- vendor/cache/ffi-1.0.11.gem
|
671
683
|
- vendor/cache/fssm-0.2.8.1.gem
|
672
|
-
- vendor/cache/gherkin-2.9.
|
684
|
+
- vendor/cache/gherkin-2.9.1.gem
|
673
685
|
- vendor/cache/gyoku-0.4.4.gem
|
674
686
|
- vendor/cache/hike-1.2.1.gem
|
675
687
|
- vendor/cache/httpi-0.9.6.gem
|
@@ -679,7 +691,7 @@ files:
|
|
679
691
|
- vendor/cache/json-1.6.5.gem
|
680
692
|
- vendor/cache/kaminari-0.13.0.gem
|
681
693
|
- vendor/cache/logger-1.2.8.gem
|
682
|
-
- vendor/cache/mail-2.4.
|
694
|
+
- vendor/cache/mail-2.4.4.gem
|
683
695
|
- vendor/cache/marc-0.4.4.gem
|
684
696
|
- vendor/cache/mediashelf-loggable-0.4.9.gem
|
685
697
|
- vendor/cache/metaclass-0.0.1.gem
|
@@ -687,13 +699,13 @@ files:
|
|
687
699
|
- vendor/cache/mocha-0.10.5.gem
|
688
700
|
- vendor/cache/multi_json-1.1.0.gem
|
689
701
|
- vendor/cache/multipart-post-1.1.2.gem
|
690
|
-
- vendor/cache/nokogiri-1.5.
|
702
|
+
- vendor/cache/nokogiri-1.5.2.gem
|
691
703
|
- vendor/cache/nori-1.1.0.gem
|
692
|
-
- vendor/cache/om-1.
|
693
|
-
- vendor/cache/orm_adapter-0.0.
|
704
|
+
- vendor/cache/om-1.6.0.rc3.gem
|
705
|
+
- vendor/cache/orm_adapter-0.0.7.gem
|
694
706
|
- vendor/cache/polyglot-0.3.3.gem
|
695
707
|
- vendor/cache/rack-1.4.1.gem
|
696
|
-
- vendor/cache/rack-cache-1.
|
708
|
+
- vendor/cache/rack-cache-1.2.gem
|
697
709
|
- vendor/cache/rack-ssl-1.3.2.gem
|
698
710
|
- vendor/cache/rack-test-0.6.1.gem
|
699
711
|
- vendor/cache/rails-3.2.2.gem
|
@@ -705,16 +717,16 @@ files:
|
|
705
717
|
- vendor/cache/rest-client-1.6.7.gem
|
706
718
|
- vendor/cache/rsolr-1.0.6.gem
|
707
719
|
- vendor/cache/rsolr-ext-1.0.3.gem
|
708
|
-
- vendor/cache/rspec-2.
|
709
|
-
- vendor/cache/rspec-core-2.
|
710
|
-
- vendor/cache/rspec-expectations-2.
|
711
|
-
- vendor/cache/rspec-mocks-2.
|
712
|
-
- vendor/cache/rspec-rails-2.
|
720
|
+
- vendor/cache/rspec-2.9.0.gem
|
721
|
+
- vendor/cache/rspec-core-2.9.0.gem
|
722
|
+
- vendor/cache/rspec-expectations-2.9.0.gem
|
723
|
+
- vendor/cache/rspec-mocks-2.9.0.gem
|
724
|
+
- vendor/cache/rspec-rails-2.9.0.gem
|
713
725
|
- vendor/cache/rubydora-0.5.7.gem
|
714
726
|
- vendor/cache/rubyzip-0.9.6.1.gem
|
715
727
|
- vendor/cache/sanitize-2.0.3.gem
|
716
728
|
- vendor/cache/sass-3.1.15.gem
|
717
|
-
- vendor/cache/sass-rails-3.2.
|
729
|
+
- vendor/cache/sass-rails-3.2.5.gem
|
718
730
|
- vendor/cache/savon-0.9.9.gem
|
719
731
|
- vendor/cache/selenium-webdriver-2.20.0.gem
|
720
732
|
- vendor/cache/solr-ruby-0.0.8.gem
|
@@ -723,7 +735,7 @@ files:
|
|
723
735
|
- vendor/cache/sprockets-2.1.2.gem
|
724
736
|
- vendor/cache/sqlite3-1.3.5.gem
|
725
737
|
- vendor/cache/sqlite3-ruby-1.3.3.gem
|
726
|
-
- vendor/cache/stomp-1.2.
|
738
|
+
- vendor/cache/stomp-1.2.2.gem
|
727
739
|
- vendor/cache/term-ansicolor-1.0.7.gem
|
728
740
|
- vendor/cache/thor-0.14.6.gem
|
729
741
|
- vendor/cache/tilt-1.3.3.gem
|
data/lib/hydra/image.rb
DELETED
@@ -1,178 +0,0 @@
|
|
1
|
-
# Hydra::Image
|
2
|
-
#
|
3
|
-
# Default content datastreams: MASTER, MAX, THUMBNAIL, SCREEN
|
4
|
-
#
|
5
|
-
# Sample Usages:
|
6
|
-
#
|
7
|
-
# Generate an image and then assign an image to it:
|
8
|
-
# hi = Hydra::Image.new(:derivatives=>true)
|
9
|
-
# f = File.new("/path/to/image.tiff")
|
10
|
-
# hi.image=f
|
11
|
-
#
|
12
|
-
# Generate an image from a url:
|
13
|
-
# hi = Hydra::Image.new(:file=>"http://example.com/some_image.jpg", :derivatives=>true)
|
14
|
-
#
|
15
|
-
#
|
16
|
-
# Generate an image from a file:
|
17
|
-
# f = File.new("/path/to/image.tiff")
|
18
|
-
# hi = Hydra::Image.new(:file=>f, :derivatives=>true)
|
19
|
-
#
|
20
|
-
# Generate an image with alternate resizing:
|
21
|
-
# hi = Hydra::Image.new(:file=>file)
|
22
|
-
# hi.derivations = {:thumbnail=> {:op => "resize", :newWidth => 75 }
|
23
|
-
# hi.send(:generate_derivatives)
|
24
|
-
#
|
25
|
-
|
26
|
-
# require "hydra"
|
27
|
-
# require "httparty"
|
28
|
-
|
29
|
-
module Hydra
|
30
|
-
class Image < ActiveFedora::Base
|
31
|
-
include Hydra::ModelMethods
|
32
|
-
include HTTParty
|
33
|
-
|
34
|
-
class Hydra::Image::NoFileError < RuntimeError; end;
|
35
|
-
class Hydra::Image::UnknownImageType < RuntimeError; end;
|
36
|
-
|
37
|
-
DEFAULT_IMAGE_DATASTREAMS = ["MASTER","MAX","THUMBNAIL","SCREEN"]
|
38
|
-
|
39
|
-
DS_DEFAULTS = {
|
40
|
-
:max => {:op => "convert", :convertTo => "jpg"},
|
41
|
-
:thumbnail => {:op => "resize",:newWidth=> 100},
|
42
|
-
:screen => {:op => "resize", :newWidth => 960}
|
43
|
-
}
|
44
|
-
|
45
|
-
attr_accessor :derivations, :generate_derived_images
|
46
|
-
|
47
|
-
def initialize( attrs={})
|
48
|
-
ActiveSupport::Deprecation.warn("Hydra:Image will be removed in the next version")
|
49
|
-
existing_image = true if attrs[:pid]
|
50
|
-
@generate_derived_images = attrs[:derivatives] ? attrs[:derivatives] : false
|
51
|
-
super
|
52
|
-
unless existing_image
|
53
|
-
if attrs.has_key?(:file) #&& attrs[:file].class == File
|
54
|
-
self.image = attrs[:file]
|
55
|
-
attrs.delete(:file)
|
56
|
-
elsif attrs.has_key?(:stream) && attrs.has_key?(:image_type)
|
57
|
-
data = attrs[:stream]
|
58
|
-
attrs.delete(:stream)
|
59
|
-
self.image = data, attrs[:image_type]
|
60
|
-
else
|
61
|
-
#raise Hydra::Image::NoFileError, "No file indicated."
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
has_relationship "parts", :is_part_of, :inbound => true
|
67
|
-
|
68
|
-
# Uses the Hydra Rights Metadata Schema for tracking access permissions & copyright
|
69
|
-
has_metadata :name => "rightsMetadata", :type => Hydra::RightsMetadata
|
70
|
-
|
71
|
-
# A place to put extra metadata values
|
72
|
-
has_metadata :name => "properties", :type => ActiveFedora::MetadataDatastream do |m|
|
73
|
-
m.field 'collection', :string
|
74
|
-
m.field 'depositor', :string
|
75
|
-
end
|
76
|
-
|
77
|
-
def image=(image_data)
|
78
|
-
delete_file_datastreams
|
79
|
-
case image_data
|
80
|
-
when File
|
81
|
-
master_from_file image_data
|
82
|
-
when Array
|
83
|
-
needs_cleanup = true
|
84
|
-
image_file = string_to_file(image_data[0],"MASTER",image_data[1])
|
85
|
-
master_from_file image_file
|
86
|
-
when String
|
87
|
-
master_from_url image_data
|
88
|
-
else
|
89
|
-
raise Hydra::Image::UnknownImageType, "Specified image is neither a file nor an appropriate image blob: #{image_data.class.to_s}"
|
90
|
-
end
|
91
|
-
save
|
92
|
-
File.delete(image_file.path) if needs_cleanup
|
93
|
-
generate_derivatives if @generate_derived_images
|
94
|
-
end
|
95
|
-
|
96
|
-
def ds_options
|
97
|
-
if @derivations
|
98
|
-
return DS_DEFAULTS.merge( @derivations )
|
99
|
-
else
|
100
|
-
return DS_DEFAULTS
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
def derivative_datastream ds_name
|
105
|
-
opts = ds_options[ds_name]
|
106
|
-
ds_location = derivation_url(ds_name, opts)
|
107
|
-
ds = ActiveFedora::Datastream.new(:dsid => ds_name.to_s.upcase, :label => ds_name.to_s.upcase, :dsLocation => ds_location, :controlGroup => "M", :mimeType => "image/jpeg")
|
108
|
-
add_datastream(ds)
|
109
|
-
save
|
110
|
-
end
|
111
|
-
|
112
|
-
DEFAULT_IMAGE_DATASTREAMS.each do |m|
|
113
|
-
class_eval <<-EOM
|
114
|
-
def has_#{m.downcase}?
|
115
|
-
self.datastreams.keys.include? "#{m}"
|
116
|
-
end
|
117
|
-
|
118
|
-
def #{m.downcase}
|
119
|
-
datastreams["#{m}"].content if has_#{m.downcase}?
|
120
|
-
end
|
121
|
-
EOM
|
122
|
-
end
|
123
|
-
|
124
|
-
private
|
125
|
-
|
126
|
-
def master_from_file image_file
|
127
|
-
add_file_datastream(image_file,:dsid=>"MASTER",:label=>"MASTER")
|
128
|
-
|
129
|
-
end
|
130
|
-
|
131
|
-
def master_from_url url
|
132
|
-
puts "creating datastream object for: #{url}"
|
133
|
-
mime_types = MIME::Types.of(url.split(/\//).last)
|
134
|
-
mime_type ||= mime_types.empty? ? "application/octet-stream" : mime_types.first.content_type
|
135
|
-
ds = ActiveFedora::Datastream.new(:dsid=> "MASTER", :label => "MASTER", :controlGroup => "M", :dsLocation => url, :mimeType=>mime_type)
|
136
|
-
add_datastream(ds)
|
137
|
-
save
|
138
|
-
end
|
139
|
-
|
140
|
-
def generate_derivatives
|
141
|
-
DEFAULT_IMAGE_DATASTREAMS.each {|ds| derivative_datastream ds.downcase.to_sym unless ds == "MASTER"}
|
142
|
-
end
|
143
|
-
|
144
|
-
def delete_file_datastreams
|
145
|
-
DEFAULT_IMAGE_DATASTREAMS.each {|ds_name| datastreams[ds_name].delete if datastreams.has_key? ds_name}
|
146
|
-
end
|
147
|
-
|
148
|
-
def derivation_url ds_name, opts={}
|
149
|
-
source_ds_name = ds_name == :max ? "MASTER" : "MAX"
|
150
|
-
if ds_name == :max && datastreams["MASTER"].mimeType == "image/jpeg"
|
151
|
-
url = datastream_url(source_ds_name)
|
152
|
-
else
|
153
|
-
opts_array=[]
|
154
|
-
opts.merge!(:url => datastream_url(source_ds_name)).each{|k,v| opts_array << "#{k}=#{v}" }
|
155
|
-
url = "#{admin_site}imagemanip/ImageManipulation?" + opts_array.join("&")
|
156
|
-
end
|
157
|
-
return url
|
158
|
-
end
|
159
|
-
|
160
|
-
def admin_site
|
161
|
-
Fedora::Repository.instance.send(:connection).site.to_s.gsub(/fedora$/,"")
|
162
|
-
end
|
163
|
-
|
164
|
-
def string_to_file blob, suffix, ext=nil
|
165
|
-
file_name = Time.now.strftime("%Y%m%d-%H%M%S")
|
166
|
-
ext = "jpg" unless suffix == "MASTER"
|
167
|
-
f = File.new("#{Rails.root}/tmp/#{file_name}-#{suffix}.#{ext}","w")
|
168
|
-
f.write blob
|
169
|
-
f.close
|
170
|
-
return f
|
171
|
-
end
|
172
|
-
|
173
|
-
def datastream_url ds_name="MASTER"
|
174
|
-
"#{admin_site}fedora/objects/#{pid}/datastreams/#{ds_name}/content"
|
175
|
-
end
|
176
|
-
|
177
|
-
end
|
178
|
-
end
|
data/uninstall.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
# Uninstall hook code here
|
Binary file
|
Binary file
|
Binary file
|
data/vendor/cache/mail-2.4.3.gem
DELETED
Binary file
|
Binary file
|
data/vendor/cache/om-1.5.3.gem
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|