dscf-payment 0.2.1 → 0.2.2

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: 9b5116a4b95714fdf6a96b3f228adee2b18b4de5e79f25758114a0350752e476
4
- data.tar.gz: 562407c99ff44e1d93531ed2f1d3cf77b498fc22571af1835d150cc24e7346ff
3
+ metadata.gz: b0d9c2c2ffad319b66d7d0bc41dfe3b5d6a3f13ade5bf2765c38385bf69b56da
4
+ data.tar.gz: c5575f58634a64d7122fb1c332d882dd7700c85df82f0fc219c087e258614066
5
5
  SHA512:
6
- metadata.gz: 90fcef25348fe02e322c5074302d7322c7be0bbf71d8fe1161d478ef074498c62ed325a44a5532de7ae2150f2f55c69f377f937c81cd297a57688c8f3ca840e8
7
- data.tar.gz: 315d96e31c7f0f70d7fc87c7c58bbcbc681e6dee2b30500449d6e8b83308cfc87a7c081ff7564ef099d7da4cd5db06582589bd94b3dbe046fed5ac9cfa377914
6
+ metadata.gz: c2547690bba901299ffdeb7687e5292fc2fdef75c4226c694f85f6d69a06f357cdf03f66d3ce872cd3dfff1869296163855782d3dd988ba21d7aa01e696fdb04
7
+ data.tar.gz: e746b57c91029a9e8b7cd90580c33c58e21b0b6749d5dc206fc2e50c9270ef53d24aa11f2d9ffdf18449670dce46134e918a41a295584d48cc89bfa6a380e466
@@ -0,0 +1,44 @@
1
+ module Dscf
2
+ module Payment
3
+ module DemoPermissionBypass
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ before_action :demo_bypass_permissions!
8
+ end
9
+
10
+ def bypass_permissions_for_demo?
11
+ true
12
+ end
13
+
14
+ def pundit_user
15
+ user = current_user
16
+ return nil unless user
17
+
18
+ bypass_permissions_on_user!(user)
19
+ end
20
+
21
+ def authorize_review_action!
22
+ skip_authorization if respond_to?(:skip_authorization, true)
23
+ end
24
+
25
+ private
26
+
27
+ def demo_bypass_permissions!
28
+ skip_authorization if respond_to?(:skip_authorization, true)
29
+ skip_policy_scope if respond_to?(:skip_policy_scope, true)
30
+ end
31
+
32
+ def bypass_permissions_on_user!(user)
33
+ return user if user.instance_variable_defined?(:@_banking_demo_permission_bypass)
34
+
35
+ user.define_singleton_method(:has_permission?) { |_permission_code| true }
36
+ user.define_singleton_method(:can?) { |permission_code| has_permission?(permission_code) }
37
+ user.define_singleton_method(:super_admin?) { true }
38
+ user.instance_variable_set(:@_banking_demo_permission_bypass, true)
39
+
40
+ user
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,5 +1,5 @@
1
1
  module Dscf
2
2
  module Payment
3
- VERSION = "0.2.1"
3
+ VERSION = "0.2.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dscf-payment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
@@ -35,14 +35,14 @@ dependencies:
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: 0.2.0
38
+ version: 0.3.0
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 0.2.0
45
+ version: 0.3.0
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: dscf-banking
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -461,6 +461,7 @@ files:
461
461
  - README.md
462
462
  - Rakefile
463
463
  - app/bypass/bypass.rb
464
+ - app/controllers/concerns/bypass.rb
464
465
  - app/controllers/dscf/payment/application_controller.rb
465
466
  - app/controllers/dscf/payment/payment_requests_controller.rb
466
467
  - app/controllers/dscf/payment/payments_controller.rb