abilities 5.1.1 → 5.1.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 +5 -5
- data/README.md +5 -7
- data/Rakefile +1 -0
- data/lib/abilities.rb +9 -0
- data/lib/abilities/configuration.rb +7 -0
- data/lib/abilities/extensions/action_controller/base.rb +2 -1
- data/lib/abilities/version.rb +1 -1
- data/lib/generators/abilities/install/install_generator.rb +4 -0
- data/lib/generators/abilities/install/templates/initializer.rb +3 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 390e74ed5a671ce769044658101f799b29bf3b78303550d4428017121828a02b
|
4
|
+
data.tar.gz: 1d899b3cefd76bbeec8ff76e40d0abe4107234832550bf5076809a75c42ee984
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 921462f430e857cdf4d9b52756c888e0f81be1c110f4cd8b20a81dc8e31ae5654bb68928e1579b5ab8673a33ef6b4a8af268d1bab1053ca85057d651cb22c520
|
7
|
+
data.tar.gz: d971dfcc046789de59ee154722e1031d10847a0ed7445293eb358771fe4519d6adcd8631218491d64172f4022a76ee5cad01188f7190889c94cb3ed31a850952
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ Authorization dsl to manage permissions in rails.
|
|
9
9
|
|
10
10
|
## Why
|
11
11
|
|
12
|
-
|
12
|
+
We did this gem to:
|
13
13
|
|
14
14
|
- Use a dsl instead of a plain class to simplify the syntax.
|
15
15
|
- Limit authorizations to only controllers and their views.
|
@@ -33,12 +33,10 @@ Generate the definitions file:
|
|
33
33
|
bundle exec rails g abilities:install
|
34
34
|
```
|
35
35
|
|
36
|
-
|
36
|
+
Set the user helper name to use in the controllers in the abilities.rb initializer:
|
37
37
|
```ruby
|
38
|
-
|
39
|
-
|
40
|
-
@current_user ||= User.find(session[:user_id])
|
41
|
-
end
|
38
|
+
Abilities.configure do |config|
|
39
|
+
config.helper = :user
|
42
40
|
end
|
43
41
|
```
|
44
42
|
|
@@ -98,7 +96,7 @@ The helpers can? and cannot? are available in the controller views too:
|
|
98
96
|
|
99
97
|
Any issue, pull request, comment of any kind is more than welcome!
|
100
98
|
|
101
|
-
|
99
|
+
We will mainly ensure compatibility to Rails, AWS, PostgreSQL, Redis, Elasticsearch and FreeBSD.
|
102
100
|
|
103
101
|
## Credits
|
104
102
|
|
data/Rakefile
CHANGED
data/lib/abilities.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'abilities/extensions/action_controller/base'
|
2
|
+
require 'abilities/configuration'
|
2
3
|
require 'abilities/definitions'
|
3
4
|
require 'abilities/exceptions'
|
4
5
|
require 'abilities/proxy'
|
@@ -10,10 +11,18 @@ module Abilities
|
|
10
11
|
|
11
12
|
attr_reader :block
|
12
13
|
|
14
|
+
def configuration
|
15
|
+
@configuration ||= Configuration.new
|
16
|
+
end
|
17
|
+
|
13
18
|
def define(&block)
|
14
19
|
@block = block
|
15
20
|
end
|
16
21
|
|
22
|
+
def configure
|
23
|
+
yield configuration
|
24
|
+
end
|
25
|
+
|
17
26
|
%i(can? cannot?).each do |name|
|
18
27
|
define_method name do |user, action, resource|
|
19
28
|
definitions = Definitions.new(user, &block)
|
@@ -10,7 +10,8 @@ module Abilities
|
|
10
10
|
|
11
11
|
%w(can? cannot?).each do |name|
|
12
12
|
define_method name do |action, resource|
|
13
|
-
Abilities.
|
13
|
+
user = send(Abilities.configuration.helper)
|
14
|
+
Abilities.send name, user, action, resource
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
data/lib/abilities/version.rb
CHANGED
@@ -6,6 +6,10 @@ module Abilities
|
|
6
6
|
|
7
7
|
source_root File.expand_path('../templates', __FILE__)
|
8
8
|
|
9
|
+
def create_initializer_file
|
10
|
+
copy_file 'initializer.rb', 'config/initializers/abilities.rb'
|
11
|
+
end
|
12
|
+
|
9
13
|
def create_configuration_file
|
10
14
|
copy_file 'configuration.rb', 'config/abilities.rb'
|
11
15
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abilities
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.1.
|
4
|
+
version: 5.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mmontossi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -49,6 +49,7 @@ files:
|
|
49
49
|
- README.md
|
50
50
|
- Rakefile
|
51
51
|
- lib/abilities.rb
|
52
|
+
- lib/abilities/configuration.rb
|
52
53
|
- lib/abilities/definitions.rb
|
53
54
|
- lib/abilities/exceptions.rb
|
54
55
|
- lib/abilities/extensions/action_controller/base.rb
|
@@ -57,6 +58,7 @@ files:
|
|
57
58
|
- lib/abilities/version.rb
|
58
59
|
- lib/generators/abilities/install/install_generator.rb
|
59
60
|
- lib/generators/abilities/install/templates/configuration.rb
|
61
|
+
- lib/generators/abilities/install/templates/initializer.rb
|
60
62
|
homepage: https://github.com/museways/abilities
|
61
63
|
licenses:
|
62
64
|
- MIT
|
@@ -77,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
79
|
version: '0'
|
78
80
|
requirements: []
|
79
81
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.
|
82
|
+
rubygems_version: 2.7.3
|
81
83
|
signing_key:
|
82
84
|
specification_version: 4
|
83
85
|
summary: Abilities for rails.
|