role_core 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +4 -2
- data/lib/role_core/contrib/can_can_can_permission.rb +28 -0
- data/lib/role_core/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 161464a27b8e4e9f59ca62b95a6c975fec056196b48d1fe0a80e2d15618a368e
|
4
|
+
data.tar.gz: 28f2cc4b103d2093893ce45a98ab91e63e878e4639889822eae5e710286660d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4aaf5fe44a10e9448faec6c6ba0316ba446641238bd3c1d2e99fd29a950d43398e56ce1483edb7c0cb63d597fcccbf71dddb27aecd5e89e4dc0b3a6bb0999298
|
7
|
+
data.tar.gz: 4a85faabeeccdd1b4b84459be9aea41459972edddddac5ce6dbcbb190084304f405380496cd731cf446ea2ae37a55ae04f02301b64e27fe997fa06e2b6d71412
|
data/README.md
CHANGED
@@ -3,6 +3,8 @@ RoleCore
|
|
3
3
|
|
4
4
|
A Rails engine providing essential industry of Role-based access control.
|
5
5
|
|
6
|
+
<img width="550" alt="2018-03-12 10 12 21" src="https://user-images.githubusercontent.com/5518/37262401-e6c9d604-25dd-11e8-849d-7f7d923d5f18.png">
|
7
|
+
|
6
8
|
## Usage
|
7
9
|
|
8
10
|
See demo for now.
|
@@ -18,7 +20,7 @@ gem 'role_core'
|
|
18
20
|
Or you may want to include the gem directly from GitHub:
|
19
21
|
|
20
22
|
```ruby
|
21
|
-
gem 'role_core', github: '
|
23
|
+
gem 'role_core', github: 'rails-engine/role_core'
|
22
24
|
```
|
23
25
|
|
24
26
|
And then execute:
|
@@ -44,7 +46,7 @@ $ bin/rails db:migrate
|
|
44
46
|
Clone the repository.
|
45
47
|
|
46
48
|
```sh
|
47
|
-
$ git clone https://github.com/
|
49
|
+
$ git clone https://github.com/rails-engine/role_core.git
|
48
50
|
```
|
49
51
|
|
50
52
|
Change directory
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RoleCore
|
4
|
+
class CanCanCanPermission < RoleCore::Permission
|
5
|
+
attr_reader :action, :options
|
6
|
+
|
7
|
+
def initialize(name, priority: 0, **options, &block)
|
8
|
+
super
|
9
|
+
|
10
|
+
@model = options[:model] || options.fetch(:model_name).constantize
|
11
|
+
@action = options[:action] || name
|
12
|
+
@options = options.except(:model, :model_name, :action)
|
13
|
+
@block = block
|
14
|
+
end
|
15
|
+
|
16
|
+
def call(context, *args)
|
17
|
+
if block_attached?
|
18
|
+
context.can @action, @model, &@block.curry[*args]
|
19
|
+
else
|
20
|
+
context.can @action, @model, @options
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def block_attached?
|
25
|
+
!!@block
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/role_core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: role_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jasl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -60,13 +60,14 @@ files:
|
|
60
60
|
- lib/role_core.rb
|
61
61
|
- lib/role_core/computed_permissions.rb
|
62
62
|
- lib/role_core/concerns/models/role.rb
|
63
|
+
- lib/role_core/contrib/can_can_can_permission.rb
|
63
64
|
- lib/role_core/engine.rb
|
64
65
|
- lib/role_core/mapper.rb
|
65
66
|
- lib/role_core/permission.rb
|
66
67
|
- lib/role_core/permission_set.rb
|
67
68
|
- lib/role_core/version.rb
|
68
69
|
- lib/tasks/role_core_tasks.rake
|
69
|
-
homepage: https://github.com/
|
70
|
+
homepage: https://github.com/rails-engine/role_core
|
70
71
|
licenses:
|
71
72
|
- MIT
|
72
73
|
metadata: {}
|
@@ -86,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
87
|
version: '0'
|
87
88
|
requirements: []
|
88
89
|
rubyforge_project:
|
89
|
-
rubygems_version: 2.6
|
90
|
+
rubygems_version: 2.7.6
|
90
91
|
signing_key:
|
91
92
|
specification_version: 4
|
92
93
|
summary: A Rails engine providing essential industry of Role-based access control
|