can_can_dry 0.3.0 → 0.3.1

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: 27b5f57ba600a70ecebc6b97f31416bf65f2e77140b9d7782a38f20e94f36a52
4
- data.tar.gz: 2268863133f1485f707fc9636d2e5415a5acac46cba7fb53027905ae6742d4ae
3
+ metadata.gz: 3f376cdbeb98a1137714aa74e1e0f9b84de1ecaf6b1d85f8bbcaa1902d6bc610
4
+ data.tar.gz: 4e0272959e2e2ba9aebe2d1544884f293222aadb7385f4a3531522845633fb8b
5
5
  SHA512:
6
- metadata.gz: 9d4e4832c2be237136b371d127a25d5167fd2db514b394d901f31e4761795a987f792c5ba5ba6c8af956bccf5cd4b2bdff2438bddd41b76dacf9bbdb2e93ba29
7
- data.tar.gz: 6e0f2009afda013043e980b650b007e128a9bc8e856a3dcec13ea73253f0ceaeda748d200d38679878c704c7565471e6150563ebeb199d1918212df461e74d89
6
+ metadata.gz: 525ecb1249278e808dab39fa4634a83f3ac78d9ed9aaf9537a1666627ba05f3a84c88af784093a6d0012da43e90adf8e28daf12738b486b5f1365b0a0bc9bc60
7
+ data.tar.gz: 55d148c30ab64a8465967f01e2e5d35d50cbc600348b62d5721cc63436631a16966b243ce6a6ca6a49e407e53cf263910ede7494ff973b620975eec9d5746e3a
data/lib/can_can_dry.rb CHANGED
@@ -11,6 +11,7 @@ module CanCanDry
11
11
  require_dependency 'can_can_dry/ability_mapping/path_mapping_not_found'
12
12
  require_dependency 'can_can_dry/ability_mapping/action_mapping_not_found'
13
13
  require_dependency 'can_can_dry/helpers/can_can_dry_helper'
14
+ require_dependency 'can_can_dry/no_controller_can_can_additions'
14
15
  require_dependency 'can_can_dry/path_recognizer'
15
16
 
16
17
  require_dependency 'action_view'
@@ -43,12 +43,18 @@ module CanCanDry
43
43
  end
44
44
 
45
45
  def can_by_can_args(can_args_args)
46
+ assert_can_method
46
47
  can_args_args.each do |c|
47
48
  next if c.empty?
48
49
  return true if can?(*c)
49
50
  end
50
51
  false
51
52
  end
53
+
54
+ def assert_can_method
55
+ return if respond_to?('can?')
56
+ singleton_class.include(::CanCanDry::NoControllerCanCanAdditions)
57
+ end
52
58
  end
53
59
  end
54
60
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ module CanCanDry
3
+ # A substitute for CanCan::ControllerAdditions when no controller is present.
4
+ module NoControllerCanCanAdditions
5
+ extend ::ActiveSupport::Concern
6
+
7
+ included do
8
+ include ::CanCan::ControllerAdditions
9
+ end
10
+
11
+ class << self
12
+ attr_reader :current_user
13
+
14
+ def with_current_user(user)
15
+ old_user = @current_user
16
+ begin
17
+ @current_user = user
18
+ yield
19
+ ensure
20
+ @current_user = old_user
21
+ end
22
+ end
23
+ end
24
+
25
+ def current_user
26
+ ::CanCanDry::NoControllerCanCanAdditions.current_user
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,3 @@
1
1
  module CanCanDry
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: can_can_dry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-30 00:00:00.000000000 Z
11
+ date: 2020-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -68,6 +68,7 @@ files:
68
68
  - lib/can_can_dry/ability_mapping_sets/devise_invitable.rb
69
69
  - lib/can_can_dry/controller_authorization.rb
70
70
  - lib/can_can_dry/helpers/can_can_dry_helper.rb
71
+ - lib/can_can_dry/no_controller_can_can_additions.rb
71
72
  - lib/can_can_dry/path_recognizer.rb
72
73
  - lib/can_can_dry/railtie.rb
73
74
  - lib/can_can_dry/version.rb