ae_declarative_authorization 2.1.0 → 2.2.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
  SHA256:
3
- metadata.gz: 7d3a61732493a7f1dfa8698fa016e257e119204c7bf878397b5caa62080c360b
4
- data.tar.gz: 5d05fbeb9f859e393a42aa86108278037377225ddbe02160a5a6ad5ef4f199fa
3
+ metadata.gz: 0a7b71e8b588137b1b2b96bc7e214cb6ab58ca778b9bdbafd34d6887897d7537
4
+ data.tar.gz: 98662f0d7b0d3ef4fcbec3bae6b71bb3ab8f97051e7fe3c9042c55f1f9c5391b
5
5
  SHA512:
6
- metadata.gz: 01ec7768b90fcdb701456f254519acce547a635cc6b49a0fad4080c41cc3d72901bf6443c44de132a5f10df63d7c7bf866189f8d1f6a3e79a4e11e51bfa92547
7
- data.tar.gz: 7bf88799408d3883d41ecbb5e5616d1d12323e6f2e535c9d39ada2bea149ce349e6696750c57901d0059e930863e0f4b7a4caab2b7c770c683d1c7ac64f1fd91
6
+ metadata.gz: f7c3fe0957edf2aebac772624e17ba87157a0c99181ec7e64794cec22865acd1d74ab2f051b5429fe2a25abbee2665a4cef7b63235b6e26999df5c998bf51ad5
7
+ data.tar.gz: cc90c97438fc87fef2a014296abed704e56f37a810d8e858327caaec39cf71d3a46201a82cd4640106d7b70ffe3708163f8db0b9a72ed9612580f9c4d2d23944
@@ -19,5 +19,5 @@ Gem::Specification.new do |spec|
19
19
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
20
20
 
21
21
  spec.add_dependency('blockenspiel', ['>= 0.5', '< 1'])
22
- spec.add_dependency('rails', ['>= 7', '< 8.1'])
22
+ spec.add_dependency('rails', ['>= 7.2', '< 8.2'])
23
23
  end
@@ -3,6 +3,7 @@ require File.dirname(__FILE__) + '/reader.rb'
3
3
  require "set"
4
4
  require "forwardable"
5
5
  require 'rails'
6
+ require 'uri'
6
7
 
7
8
  module Authorization
8
9
  # An exception raised if anything goes wrong in the Authorization realm
@@ -218,12 +219,16 @@ module Authorization
218
219
  options[:controller].route&.request_method
219
220
  end
220
221
 
221
- Authorization.config.authorization_denied_callback&.call(
222
+ referer_url = options[:controller]&.respond_to?(:request) ? options[:controller].request&.referer : nil
223
+ referer_path = referer_url ? (URI.parse(referer_url).path rescue nil) : nil
224
+
225
+ Authorization.config.authorization_denied_callback.call(
222
226
  {
223
227
  action: action,
224
228
  path: options[:controller]&.respond_to?(:request) ? options[:controller].request&.path : nil,
225
229
  context: options[:context].to_s,
226
- attribute_check_denial: !rules.empty?
230
+ attribute_check_denial: !rules.empty?,
231
+ referer: referer_path
227
232
  }
228
233
  )
229
234
  end
@@ -1,3 +1,3 @@
1
1
  module DeclarativeAuthorization
2
- VERSION = '2.1.0'.freeze
2
+ VERSION = '2.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ae_declarative_authorization
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AppFolio
@@ -35,20 +35,20 @@ dependencies:
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: '7'
38
+ version: '7.2'
39
39
  - - "<"
40
40
  - !ruby/object:Gem::Version
41
- version: '8.1'
41
+ version: '8.2'
42
42
  type: :runtime
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '7'
48
+ version: '7.2'
49
49
  - - "<"
50
50
  - !ruby/object:Gem::Version
51
- version: '8.1'
51
+ version: '8.2'
52
52
  description: Rails gem for maintainable authorization based on readable authorization
53
53
  rules.
54
54
  email: opensource@appfolio.com