hydra-head 4.0.0.rc4 → 4.0.0.rc5

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.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hydra-head (4.0.0.rc4)
4
+ hydra-head (4.0.0.rc5)
5
5
  RedCloth (= 4.2.9)
6
- active-fedora (~> 4.0.0.rc19)
6
+ active-fedora (~> 4.0.0.rc20)
7
7
  blacklight (~> 3.3.1)
8
8
  block_helpers
9
9
  cancan
10
10
  devise
11
- rails (~> 3.2.1)
11
+ rails (= 3.2.2)
12
12
  sanitize
13
13
 
14
14
  GEM
@@ -28,7 +28,7 @@ GEM
28
28
  rack-cache (~> 1.1)
29
29
  rack-test (~> 0.6.1)
30
30
  sprockets (~> 2.1.2)
31
- active-fedora (4.0.0.rc19)
31
+ active-fedora (4.0.0.rc20)
32
32
  activeresource (>= 3.0.0)
33
33
  activesupport (>= 3.0.0)
34
34
  equivalent-xml
@@ -115,12 +115,12 @@ GEM
115
115
  equivalent-xml (0.2.9)
116
116
  nokogiri (>= 1.4.3)
117
117
  erubis (2.7.0)
118
- factory_girl (2.6.4)
119
- activesupport (>= 2.3.9)
118
+ factory_girl (3.0.0)
119
+ activesupport (>= 3.0.0)
120
120
  fastercsv (1.5.4)
121
121
  ffi (1.0.11)
122
122
  fssm (0.2.8.1)
123
- gherkin (2.9.1)
123
+ gherkin (2.9.3)
124
124
  json (>= 1.4.6)
125
125
  gyoku (0.4.4)
126
126
  builder (>= 2.1.2)
@@ -135,7 +135,7 @@ GEM
135
135
  logger
136
136
  mediashelf-loggable
137
137
  journey (1.0.3)
138
- json (1.6.5)
138
+ json (1.6.6)
139
139
  kaminari (0.13.0)
140
140
  actionpack (>= 3.0.0)
141
141
  activesupport (>= 3.0.0)
@@ -148,14 +148,14 @@ GEM
148
148
  marc (0.4.4)
149
149
  mediashelf-loggable (0.4.9)
150
150
  metaclass (0.0.1)
151
- mime-types (1.17.2)
151
+ mime-types (1.18)
152
152
  mocha (0.10.5)
153
153
  metaclass (~> 0.0.1)
154
- multi_json (1.1.0)
154
+ multi_json (1.2.0)
155
155
  multipart-post (1.1.2)
156
156
  nokogiri (1.5.2)
157
157
  nori (1.1.0)
158
- om (1.6.0.rc3)
158
+ om (1.6.0)
159
159
  mediashelf-loggable
160
160
  nokogiri (>= 1.4.2)
161
161
  orm_adapter (0.0.7)
data/HISTORY.textile CHANGED
@@ -4,6 +4,8 @@ h3. 4.0.0
4
4
  * Removed railtie to configure active-fedora
5
5
  * Register solr happens automatically
6
6
  * Using CanCan gem for authorization
7
+ * Compatibility with Rails 3.2
8
+ * Compatibility with Ruby 1.9.3
7
9
 
8
10
  h3. 3.3.0
9
11
  * HYDRA-737: fixes to work with Ruby Enterprise Edition 2011.12 and ruby-1.8.7-p357.
data/hydra-head.gemspec CHANGED
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{Hydra-Head Rails Engine (requires Rails3) }
13
13
  s.description = %q{Hydra-Head is a Rails Engine containing the core code for a Hydra application. The full hydra stack includes: Blacklight, Fedora, Solr, active-fedora, solrizer, and om}
14
14
 
15
- s.add_dependency "rails", '~> 3.2.1'
15
+ s.add_dependency "rails", '3.2.2' # 3.2.3 needs an updated version of BL(>3.3.1)
16
16
  s.add_dependency "blacklight", '~>3.3.1'
17
17
  s.add_dependency "devise"
18
- s.add_dependency "active-fedora", '~>4.0.0.rc19'
18
+ s.add_dependency "active-fedora", '~>4.0.0.rc20'
19
19
  s.add_dependency 'RedCloth', '=4.2.9'
20
20
  s.add_development_dependency 'solrizer-fedora', '>=1.2.5'
21
21
  s.add_dependency 'block_helpers'
data/lib/hydra/catalog.rb CHANGED
@@ -21,6 +21,7 @@ module Hydra::Catalog
21
21
  # View Helpers
22
22
  helper :hydra_uploader
23
23
  helper :article_metadata
24
+ rescue_from ActiveFedora::ObjectNotFoundError, :with => :nonexistent_document
24
25
  end
25
26
 
26
27
  def edit
@@ -33,5 +34,15 @@ module Hydra::Catalog
33
34
  show
34
35
  render "show"
35
36
  end
36
-
37
+
38
+ def nonexistent_document
39
+ if Rails.env == "development"
40
+ render
41
+ else
42
+ flash[:notice] = "Sorry, you have requested a record that doesn't exist."
43
+ params.delete(:id)
44
+ index
45
+ render "index", :status => 404
46
+ end
47
+ end
37
48
  end
@@ -1,4 +1,4 @@
1
1
  module HydraHead
2
- VERSION = "4.0.0.rc4"
2
+ VERSION = "4.0.0.rc5"
3
3
  end
4
4
 
data/lib/hydra.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  require "blacklight"
2
2
  require 'active-fedora'
3
+ require 'cancan'
4
+
3
5
  # Hydra libraries
4
6
  module Hydra
5
7
  extend Blacklight::GlobalConfigurable
@@ -34,5 +36,6 @@ require 'hydra/common_mods_index_methods'
34
36
  require 'hydra/mods_article'
35
37
  require 'hydra/model_methods'
36
38
  require 'hydra/models/file_asset'
39
+ require 'mediashelf/active_fedora_helper' #deprecated
37
40
 
38
41
 
@@ -1,6 +1,3 @@
1
- require "active-fedora"
2
- require "solrizer-fedora"
3
- require "active_support" # This is just to load ActiveSupport::CoreExtensions::String::Inflections
4
1
  namespace :hydra do
5
2
 
6
3
  desc "Init Hydra configuration"
@@ -13,7 +13,6 @@ gem 'blacklight', '~>3.3.0'
13
13
  gem 'hydra-head', :path => '../../'
14
14
  gem 'devise'
15
15
  gem 'jettywrapper'
16
- gem 'cancan'
17
16
 
18
17
  # For testing
19
18
  group :development, :test do
@@ -21,8 +21,7 @@ Feature: HTML validity
21
21
  Scenario: Search Results (authenticated)
22
22
  Given I am logged in as "archivist1@example.com"
23
23
  When I am on the home page
24
- And I follow "Article"
25
- #This may fail if there are a lot of articles in fedora and the expected article is not on the first page
24
+ And I follow "TOPIC 1"
26
25
  Then I should see "TITLE OF HOST JOURNAL"
27
26
  And the page should be HTML5 valid
28
27
 
@@ -0,0 +1,9 @@
1
+ Feature: Non-existent Objects - Show View
2
+ I want to see a 404 for the show view for objects not in fedora or solr
3
+ Scenario: an object exists for an id
4
+ Given I am on the show document page for hydra:test_no_model
5
+ Then I should get a status code 200
6
+ Scenario: no object exists for an id
7
+ Given I am on the show document page for hydra:test_no_exist
8
+ Then I should get a status code 404
9
+ And I should see "Sorry, you have requested a record that doesn't exist."
@@ -23,7 +23,10 @@ end
23
23
  Given /^I am a superuser$/ do
24
24
  step %{I am logged in as "bigwig@example.com"}
25
25
  bigwig_id = User.find_by_email("bigwig@example.com").id
26
- superuser = Superuser.create(:id => 20, :user_id => bigwig_id)
26
+ superuser = Superuser.new()
27
+ superuser.id = 20
28
+ superuser.user_id = bigwig_id
29
+ superuser.save!
27
30
  visit superuser_path
28
31
  end
29
32
 
@@ -217,3 +217,7 @@ end
217
217
  Then /^show me the page$/ do
218
218
  save_and_open_page
219
219
  end
220
+
221
+ Then /^I should get a status code (\d+)/ do |http_status|
222
+ page.driver.status_code.should == http_status.to_i
223
+ end
@@ -109,6 +109,7 @@ describe CatalogController do
109
109
  end
110
110
  describe "show" do
111
111
  it "should trigger enforce_show_permissions and load_fedora_document" do
112
+ controller.stubs(:current_user).returns(nil)
112
113
  controller.expects(:load_fedora_document)
113
114
  controller.expects(:enforce_show_permissions)
114
115
  get :show, :id=>'test:3'
@@ -116,6 +117,7 @@ describe CatalogController do
116
117
  end
117
118
  describe "edit" do
118
119
  it "should trigger enforce_edit_permissions and load_fedora_document" do
120
+ controller.stubs(:current_user).returns(nil)
119
121
  controller.expects(:load_fedora_document)
120
122
  controller.expects(:enforce_edit_permissions)
121
123
  get :edit, :id=>'test:3'
@@ -8,7 +8,10 @@ describe User do
8
8
  @user = User.create(:email=> "testuser@example.com", :password=> "password", :password_confirmation => "password")
9
9
  end
10
10
  it "should know if a user can be a superuser" do
11
- superuser = Superuser.create(:id => 20, :user_id => @user.id)
11
+ superuser = Superuser.new()
12
+ superuser.id = 20
13
+ superuser.user_id = @user.id
14
+ superuser.save!
12
15
  @user.extend(Hydra::SuperuserAttributes)
13
16
  @user.can_be_superuser?.should be_true
14
17
  end
@@ -19,7 +22,10 @@ describe User do
19
22
  end
20
23
 
21
24
  it "should know if the user is being a superuser" do
22
- superuser = Superuser.create(:id => 50, :user_id => @user.id)
25
+ superuser = Superuser.new()
26
+ superuser.id = 50
27
+ superuser.user_id = @user.id
28
+ superuser.save!
23
29
  @user.extend(Hydra::SuperuserAttributes)
24
30
  session = { :superuser_mode => true }
25
31
  @user.is_being_superuser?(session).should be_true
@@ -32,7 +38,10 @@ describe User do
32
38
  end
33
39
 
34
40
  it "should know if the user is not being a superuser even if the user can be a superuser" do
35
- superuser = Superuser.create(:id => 60, :user_id => @user.id)
41
+ superuser = Superuser.new()
42
+ superuser.id = 60
43
+ superuser.user_id = @user.id
44
+ superuser.save!
36
45
  @user.extend(Hydra::SuperuserAttributes)
37
46
  @user.can_be_superuser?.should be_true
38
47
  session = {}
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: hydra-head
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc4
4
+ version: 4.0.0.rc5
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-03-30 00:00:00.000000000 Z
13
+ date: 2012-04-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &70283600038780 !ruby/object:Gem::Requirement
17
+ requirement: &70107854576240 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
- - - ~>
20
+ - - =
21
21
  - !ruby/object:Gem::Version
22
- version: 3.2.1
22
+ version: 3.2.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70283600038780
25
+ version_requirements: *70107854576240
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: blacklight
28
- requirement: &70283600038160 !ruby/object:Gem::Requirement
28
+ requirement: &70107854603200 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.3.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70283600038160
36
+ version_requirements: *70107854603200
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: devise
39
- requirement: &70283600037660 !ruby/object:Gem::Requirement
39
+ requirement: &70107854601100 !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: *70283600037660
47
+ version_requirements: *70107854601100
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: active-fedora
50
- requirement: &70283600037020 !ruby/object:Gem::Requirement
50
+ requirement: &70107854613840 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 4.0.0.rc19
55
+ version: 4.0.0.rc20
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70283600037020
58
+ version_requirements: *70107854613840
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: RedCloth
61
- requirement: &70283600036420 !ruby/object:Gem::Requirement
61
+ requirement: &70107854613340 !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: *70283600036420
69
+ version_requirements: *70107854613340
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: solrizer-fedora
72
- requirement: &70283600035840 !ruby/object:Gem::Requirement
72
+ requirement: &70107854612860 !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: :development
79
79
  prerelease: false
80
- version_requirements: *70283600035840
80
+ version_requirements: *70107854612860
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: block_helpers
83
- requirement: &70283600035380 !ruby/object:Gem::Requirement
83
+ requirement: &70107854612180 !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: *70283600035380
91
+ version_requirements: *70107854612180
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: sanitize
94
- requirement: &70283600034820 !ruby/object:Gem::Requirement
94
+ requirement: &70107854611440 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70283600034820
102
+ version_requirements: *70107854611440
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: cancan
105
- requirement: &70283600034300 !ruby/object:Gem::Requirement
105
+ requirement: &70107854610740 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *70283600034300
113
+ version_requirements: *70107854610740
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: sqlite3
116
- requirement: &70283600062900 !ruby/object:Gem::Requirement
116
+ requirement: &70107854608140 !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: *70283600062900
124
+ version_requirements: *70107854608140
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
- requirement: &70283600062380 !ruby/object:Gem::Requirement
127
+ requirement: &70107854637400 !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: *70283600062380
135
+ version_requirements: *70107854637400
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: jettywrapper
138
- requirement: &70283600061760 !ruby/object:Gem::Requirement
138
+ requirement: &70107854636480 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 1.0.4
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *70283600061760
146
+ version_requirements: *70107854636480
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: rspec-rails
149
- requirement: &70283600061260 !ruby/object:Gem::Requirement
149
+ requirement: &70107854635520 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: '0'
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *70283600061260
157
+ version_requirements: *70107854635520
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: mocha
160
- requirement: &70283600060660 !ruby/object:Gem::Requirement
160
+ requirement: &70107854634600 !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: *70283600060660
168
+ version_requirements: *70107854634600
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: cucumber-rails
171
- requirement: &70283600059920 !ruby/object:Gem::Requirement
171
+ requirement: &70107854633860 !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: *70283600059920
179
+ version_requirements: *70107854633860
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: factory_girl
182
- requirement: &70283600059280 !ruby/object:Gem::Requirement
182
+ requirement: &70107854633040 !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: *70283600059280
190
+ version_requirements: *70107854633040
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'
@@ -566,6 +566,7 @@ files:
566
566
  - test_support/features/mods_asset_edit_without_permission.feature
567
567
  - test_support/features/mods_asset_search_result.feature
568
568
  - test_support/features/mods_asset_show.feature
569
+ - test_support/features/nonexistent_object_show.feature
569
570
  - test_support/features/permissions_add.feature
570
571
  - test_support/features/permissions_edit.feature
571
572
  - test_support/features/step_definitions/catalog_index_steps.rb
@@ -652,7 +653,7 @@ files:
652
653
  - vendor/cache/RedCloth-4.2.9.gem
653
654
  - vendor/cache/actionmailer-3.2.2.gem
654
655
  - vendor/cache/actionpack-3.2.2.gem
655
- - vendor/cache/active-fedora-4.0.0.rc19.gem
656
+ - vendor/cache/active-fedora-4.0.0.rc20.gem
656
657
  - vendor/cache/activemodel-3.2.2.gem
657
658
  - vendor/cache/activerecord-3.2.2.gem
658
659
  - vendor/cache/activeresource-3.2.2.gem
@@ -678,31 +679,31 @@ files:
678
679
  - vendor/cache/diff-lcs-1.1.3.gem
679
680
  - vendor/cache/equivalent-xml-0.2.9.gem
680
681
  - vendor/cache/erubis-2.7.0.gem
681
- - vendor/cache/factory_girl-2.6.4.gem
682
+ - vendor/cache/factory_girl-3.0.0.gem
682
683
  - vendor/cache/fastercsv-1.5.4.gem
683
684
  - vendor/cache/ffi-1.0.11.gem
684
685
  - vendor/cache/fssm-0.2.8.1.gem
685
- - vendor/cache/gherkin-2.9.1.gem
686
+ - vendor/cache/gherkin-2.9.3.gem
686
687
  - vendor/cache/gyoku-0.4.4.gem
687
688
  - vendor/cache/hike-1.2.1.gem
688
689
  - vendor/cache/httpi-0.9.6.gem
689
690
  - vendor/cache/i18n-0.6.0.gem
690
691
  - vendor/cache/jettywrapper-1.2.1.gem
691
692
  - vendor/cache/journey-1.0.3.gem
692
- - vendor/cache/json-1.6.5.gem
693
+ - vendor/cache/json-1.6.6.gem
693
694
  - vendor/cache/kaminari-0.13.0.gem
694
695
  - vendor/cache/logger-1.2.8.gem
695
696
  - vendor/cache/mail-2.4.4.gem
696
697
  - vendor/cache/marc-0.4.4.gem
697
698
  - vendor/cache/mediashelf-loggable-0.4.9.gem
698
699
  - vendor/cache/metaclass-0.0.1.gem
699
- - vendor/cache/mime-types-1.17.2.gem
700
+ - vendor/cache/mime-types-1.18.gem
700
701
  - vendor/cache/mocha-0.10.5.gem
701
- - vendor/cache/multi_json-1.1.0.gem
702
+ - vendor/cache/multi_json-1.2.0.gem
702
703
  - vendor/cache/multipart-post-1.1.2.gem
703
704
  - vendor/cache/nokogiri-1.5.2.gem
704
705
  - vendor/cache/nori-1.1.0.gem
705
- - vendor/cache/om-1.6.0.rc3.gem
706
+ - vendor/cache/om-1.6.0.gem
706
707
  - vendor/cache/orm_adapter-0.0.7.gem
707
708
  - vendor/cache/polyglot-0.3.3.gem
708
709
  - vendor/cache/rack-1.4.1.gem
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file