action_sentinel 0.2.0 → 0.3.0

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: 204f3d0ef817c0d6cc2d1a1b35885452e3b7d5db74e9568ddd95ef610da7bebd
4
- data.tar.gz: 383b26ad27efd68c7a1e463f2238f83ce47af9d229061d2840fbf66ca5aa1664
3
+ metadata.gz: 0e32f9fe1d318938091c07167a07ff9b4e8584f0ed712df14b29cbec36819a6e
4
+ data.tar.gz: a91742b5c786cd20650583bb9eb6dc1fab4ba3b12067958e930b519851917cda
5
5
  SHA512:
6
- metadata.gz: 505df6f90e87e78dbbdc7f0aa21ec54302a17fe8938fcbe59f2e899c02dc27ca13f873ddc72e540bf9a59e0ba6b29ac1c588bdde73af271264227a4ccddfe6ec
7
- data.tar.gz: c39df3332e792c823e04dbd81e0667e84a877d3c54c076cc698a5f3484a66b21de6b3f28fd781ee7afbb54982dad2af82333d56d72d45345ff17874573aba909
6
+ metadata.gz: fb4ff67b1fc12d024c50d80758109c09158d60a22f3d2d1435bf0daa6b47faacd5cb41cf837c7a48fbdc7e088b69ffb80459f4e73e7611b90f3131e853ec0667
7
+ data.tar.gz: 82533ced4780a2b942fae90aca15203b730638af6301155dcbc9fb52777cf9d149b917c41ae6b95184fd5f4cd7d86f2bf0785a61fa234db4646d87f5442987f1
data/CHANGELOG.md CHANGED
@@ -8,3 +8,8 @@
8
8
 
9
9
  - Changed `controller_name` attribute to `controller_path` in `AccessPermission` model
10
10
  - Allow to create actions permissions to scoped controllers
11
+
12
+ ## [0.3.0] - 2024-01-05
13
+
14
+ - Fixed errors when revoking `AccessPermissionGenerator` methods
15
+ - Added logger to `AccessPermissionGenerator`
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActionSentinel
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "rails/generators"
4
4
  require "rails/generators/active_record"
5
+ require "logger"
5
6
 
6
7
  module ActionSentinel
7
8
  class AccessPermissionGenerator < Rails::Generators::Base
@@ -18,13 +19,27 @@ module ActionSentinel
18
19
  end
19
20
 
20
21
  def create_access_pemission_and_migration
21
- inject_action_permissible_into_model
22
- generate_access_permission
23
- generate_migration
22
+ model_file = File.join("app", "models", "#{singular_model_name}.rb")
23
+
24
+ if File.exist?(model_file) || revoke_process?
25
+ inject_action_permissible_into_model(model_file)
26
+ generate_access_permission
27
+ generate_migration
28
+ else
29
+ logger.info("The file #{model_file} does not appear to exist")
30
+ end
24
31
  end
25
32
 
26
33
  private
27
34
 
35
+ def logger
36
+ Logger.new($stdout)
37
+ end
38
+
39
+ def revoke_process?
40
+ behavior == :revoke
41
+ end
42
+
28
43
  def generate_access_permission
29
44
  template "access_permission.rb", File.join("app", "models", "access_permission.rb")
30
45
  end
@@ -53,10 +68,13 @@ module ActionSentinel
53
68
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
54
69
  end
55
70
 
56
- def inject_action_permissible_into_model
57
- model_file = File.join("app", "models", "#{singular_model_name}.rb")
58
- inject_into_class(model_file, model_class) do
59
- "\taction_permissible\n"
71
+ def inject_action_permissible_into_model(model_file)
72
+ if File.exist?(model_file)
73
+ inject_into_class(model_file, model_class) do
74
+ "\taction_permissible\n"
75
+ end
76
+ else
77
+ logger.info("The file #{model_file} does not appear to exist")
60
78
  end
61
79
  end
62
80
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_sentinel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Stael
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-27 00:00:00.000000000 Z
11
+ date: 2024-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec