can_can_dry 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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