hydra-core 9.3.0 → 9.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e23e594007d826f8bad840f355b3665e69f0f7e0
4
- data.tar.gz: 6aadfdfd537b2dc78a82590bef7d1081bcfb8551
3
+ metadata.gz: 3aafc89dec95ca89ab2ff03a21972eacad393681
4
+ data.tar.gz: ac8fe4bd904f9d1e481321dce1407c483628d2c4
5
5
  SHA512:
6
- metadata.gz: 249ab501d9712ea5e3a3b2bc4e7e8531651a1a7cbae89f3083996a505db3a4b47fed46bf7c4887c69c6f6a79c1ac6af81b35a61d6571a0a80c8e2c5afde6565a
7
- data.tar.gz: e1fe9b5671e08dbf820c6b5f6aa20aa9da234d9dab3a53c850341fb6429b8df7fdc6f00a2d896eef72c6a9d8ab379b0f8032b900e78eb213e0eaf70443b50c06
6
+ metadata.gz: 2a7fb894e9c174171668650660144c5c3ad572ad406fbd883902e3be58193e14d74a84b69b776d5e14c4c173919e65a0a23a86372c22eb02cbdbf67f278317c4
7
+ data.tar.gz: be273f18331a7bf62ec8a79aa79fef0226cd0f57fc5b79ae8a8b0b2a0bc08c47ad5dddd0a92c691031702823780f322053ff78911f4b365a74698f6c86426b4b
@@ -1,8 +1,5 @@
1
1
  # Include this module into any of your Controller classes to add Hydra functionality
2
2
  #
3
- # The primary function of this module is to mix in a number of other Hydra Modules, including
4
- # Hydra::AccessControlsEnforcement
5
- #
6
3
  # @example
7
4
  # class CustomHydraController < ApplicationController
8
5
  # include Hydra::Controller::ControllerBehavior
@@ -135,7 +135,7 @@ module Hydra
135
135
  def prepare_file_headers
136
136
  send_file_headers! content_options
137
137
  response.headers['Content-Type'] = file.mime_type
138
- response.headers['Content-Length'] ||= file.size
138
+ response.headers['Content-Length'] ||= file.size.to_s
139
139
  # Prevent Rack::ETag from calculating a digest over body
140
140
  response.headers['Last-Modified'] = asset.modified_date.utc.strftime("%a, %d %b %Y %T GMT")
141
141
  self.content_type = file.mime_type
@@ -0,0 +1,9 @@
1
+ module Hydra::Controller
2
+ module IpBasedAbility
3
+ # Overriding the default method provided by cancan
4
+ # This passes the remote_ip to the Ability instance
5
+ def current_ability
6
+ @current_ability ||= ::Ability.new(current_user, remote_ip: request.remote_ip)
7
+ end
8
+ end
9
+ end
@@ -1,7 +1,7 @@
1
1
  module Hydra::Controller::SearchBuilder
2
2
  extend ActiveSupport::Concern
3
3
 
4
- # Override blacklight to produce a search_builder that has the current collection in context
4
+ # Override blacklight to produce a search_builder that has the current ability in context
5
5
  def search_builder processor_chain = search_params_logic
6
6
  super.tap { |builder| builder.current_ability = current_ability }
7
7
  end
@@ -1,3 +1,3 @@
1
1
  module HydraHead
2
- VERSION = "9.3.0"
2
+ VERSION = "9.4.0"
3
3
  end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'IpBasedAbilitySpec' do
4
+ controller do
5
+ include Hydra::Controller::IpBasedAbility
6
+ end
7
+
8
+ describe '#ability' do
9
+ let(:user) { double }
10
+ let(:ip) { '123.456.789.111' }
11
+
12
+ before do
13
+ allow(controller).to receive(:current_user).and_return(user)
14
+ allow_any_instance_of(ActionDispatch::Request).to receive(:remote_ip) { ip }
15
+ end
16
+
17
+ it 'passes ip to ability' do
18
+ expect(Ability).to receive(:new).with(user, remote_ip: ip)
19
+ controller.current_ability
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.3.0
4
+ version: 9.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt, Bess Sadler, Julie Meloni, Naomi Dushay, Jessie Keck, John Scofield,
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-10-07 00:00:00.000000000 Z
12
+ date: 2015-11-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 9.3.0
34
+ version: 9.4.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 9.3.0
41
+ version: 9.4.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: jettywrapper
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -138,6 +138,7 @@ files:
138
138
  - app/controllers/concerns/hydra/controller.rb
139
139
  - app/controllers/concerns/hydra/controller/controller_behavior.rb
140
140
  - app/controllers/concerns/hydra/controller/download_behavior.rb
141
+ - app/controllers/concerns/hydra/controller/ip_based_ability.rb
141
142
  - app/controllers/concerns/hydra/controller/search_builder.rb
142
143
  - app/helpers/blacklight_helper.rb
143
144
  - app/helpers/hydra/blacklight_helper_behavior.rb
@@ -171,6 +172,7 @@ files:
171
172
  - spec/.gitignore
172
173
  - spec/controllers/catalog_controller_spec.rb
173
174
  - spec/controllers/downloads_controller_spec.rb
175
+ - spec/controllers/ip_based_ability_spec.rb
174
176
  - spec/factories.rb
175
177
  - spec/helpers/blacklight_helper_spec.rb
176
178
  - spec/lib/model_methods_spec.rb
@@ -221,6 +223,7 @@ test_files:
221
223
  - spec/.gitignore
222
224
  - spec/controllers/catalog_controller_spec.rb
223
225
  - spec/controllers/downloads_controller_spec.rb
226
+ - spec/controllers/ip_based_ability_spec.rb
224
227
  - spec/factories.rb
225
228
  - spec/helpers/blacklight_helper_spec.rb
226
229
  - spec/lib/model_methods_spec.rb