arpa 0.0.7 → 0.0.8
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 +4 -4
- data/.gitignore +1 -0
- data/README.md +96 -15
- data/lib/arpa/additions/resource.rb +5 -5
- data/lib/arpa/entities/action.rb +2 -1
- data/lib/arpa/entities/permissions.rb +1 -1
- data/lib/arpa/entities/profile.rb +9 -3
- data/lib/arpa/entities/resource.rb +1 -1
- data/lib/arpa/entities/role.rb +10 -4
- data/lib/arpa/version.rb +1 -1
- data/lib/config/locales/arpa.en.yml +0 -13
- data/spec/lib/ar/entities/action_spec.rb +22 -2
- data/spec/lib/ar/entities/permissions_spec.rb +25 -11
- data/spec/lib/ar/entities/profile_spec.rb +44 -0
- data/spec/lib/ar/entities/resource_spec.rb +23 -0
- data/spec/lib/ar/entities/role_spec.rb +52 -0
- metadata +7 -6
- data/arpa-0.0.2.gem +0 -0
- data/arpa-0.0.3.gem +0 -0
- data/arpa-0.0.4.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ac4029644c373b6a7478a913a4e165eca5145ef
|
4
|
+
data.tar.gz: f4f47a1444f7cf74d61b09579816bafead29e91c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6f282c6b5d8fff2b6ef47c6a16bcfb18ba7f53648de5119ceb06c35ed7baeeabfdfdc57c454fcaa6bc8457a199fc6dc047f8af3da41a0874760342907cea8c3
|
7
|
+
data.tar.gz: 0a3e5b3c15a7199bcda8a0188312b548cc8ceec87521e1ee28e8d39f2ff43f1e4a2d88b5b948b80fb1a47d2791ac0ae029deb3c3c7ae8456bcf221104f5c509a
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#Arpa
|
2
2
|
|
3
|
-
|
3
|
+
Arpa is an authorization library for Ruby or Ruby on Rails which restricts the accesses in controller and actions. Arpa will help you to customize all permissions you need dynamically.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -28,26 +28,55 @@ This command will create some files that are needed to run the Gem.
|
|
28
28
|
|----------|:-------------:|
|
29
29
|
| db/migrate/20140120201010_create_arpa_tables.rb | Migration to create the all **Arpa** tables in your database (your name will include a different timestamp) |
|
30
30
|
| config/locales/arpa.en.yml | Locales to use in Arpa classes |
|
31
|
+
|
32
|
+
**Obs.:** The migration file will create a associate table between **Arpa::Profile** and **SomeModel**. By **default** the model is **User** as **users** table. The model to associate must exist in your Application before run that generate.
|
33
|
+
|
34
|
+
If you want a different Model to associate with Arpa::Profile you can pass some arguments:
|
35
|
+
|
36
|
+
$ rails generate arpa:install [ASSOCIATE_TABLE] [ASSOCIATE_PRIMARY_KEY]
|
37
|
+
|
38
|
+
####Eg. 1:
|
39
|
+
|
40
|
+
$ rails generate arpa:install admins
|
41
|
+
|
42
|
+
That command will create the association with **admins** table with **admin_id** as foreign key.
|
43
|
+
|
44
|
+
####Eg. 2:
|
45
|
+
|
46
|
+
$ rails generate arpa:install admins admin_custom_id
|
47
|
+
|
48
|
+
That command will create the association with **admins** table with **admin_custom_id** as foreign key.
|
49
|
+
|
50
|
+
|
51
|
+
After run the generate command, you need to run the migration to create all Arpa tables:
|
52
|
+
|
53
|
+
$ rake db:migrate
|
54
|
+
|
55
|
+
---
|
56
|
+
|
57
|
+
Arpa can generate the *Controllers*, *Views*, *Stylesheet* and *Routes* to a basic CRUD for *resources*, *roles* and *profiles*. To do that you can run:
|
58
|
+
|
59
|
+
$ rails generate arpa:controllers
|
60
|
+
|
61
|
+
This command will create some files.
|
62
|
+
|
63
|
+
| File | Purpose |
|
64
|
+
|----------|:-------------:|
|
31
65
|
| app/assets/stylesheets/arpa/arpa_accordion.scss | Basic stylesheet to use with Arpa views |
|
32
66
|
| app/controllers/arpa/resources_controller.rb app/controllers/arpa/roles_controller.rb app/controllers/arpa/profiles_controller.rb | Controllers to use the CRUD actions for each one |
|
33
67
|
| app/views/arpa/resources/ app/controllers/arpa/roles/ app/controllers/arpa/profiles/ | All views to use the CRUD actions for each controller above |
|
34
68
|
| config/routes.rb | Will add all routes into this file with all resources of Arpa |
|
35
69
|
|
36
|
-
After generate, you need to run the migration to create all Arpa tables:
|
37
|
-
|
38
|
-
$ rake db:migrate
|
39
|
-
|
40
|
-
**Obs.:** The migration file will create a associate table between **Profiles** and **Users** (the Users must exist in your Application before adding the Gem)
|
41
70
|
|
42
71
|
## Usage
|
43
72
|
|
44
|
-
First of all you must create the Resources, Roles and Profiles (each is avaliable in the paths listed in a section bellow). After that you need associate **
|
73
|
+
First of all you must create the Resources, Roles and Profiles (each is avaliable in the paths listed in a section bellow). After that you need associate **Arpa::Profile** with **SomeModel** (to do this, you need create by your own the associate form view, saving some profiles in some model). Done that you can use some Helpers generated by Arpa.
|
45
74
|
|
46
|
-
### Association between
|
75
|
+
### Association between Arpa::Profile and SomeModel
|
47
76
|
|
48
|
-
You just need have a method called **:profile_ids** inside the
|
77
|
+
You just need have a method called **:profile_ids** inside the **SomeModel** model. This method should return a list of ids from profiles associated in the model.
|
49
78
|
|
50
|
-
You just add a HBTM association in
|
79
|
+
You just add a HBTM association in SomeModel model:
|
51
80
|
|
52
81
|
```ruby
|
53
82
|
class User < ActiveRecord::Base
|
@@ -56,6 +85,16 @@ end
|
|
56
85
|
```
|
57
86
|
With this you will be able to use the :profile_ids method.
|
58
87
|
|
88
|
+
If the Model name is different on database you need add the **foreign_key** option:
|
89
|
+
|
90
|
+
```ruby
|
91
|
+
class User < ActiveRecord::Base
|
92
|
+
self.table_name = 'admins'
|
93
|
+
|
94
|
+
has_and_belongs_to_many :profiles, class_name: 'Arpa::Repositories::Profiles::RepositoryProfile', foreign_key: 'admin_id'
|
95
|
+
end
|
96
|
+
```
|
97
|
+
|
59
98
|
### Controller helpers
|
60
99
|
|
61
100
|
Arpa will create some helpers to use inside your controllers and views.
|
@@ -96,20 +135,62 @@ class ApplicationController < ActionController::Base
|
|
96
135
|
before_filter :authorize_user
|
97
136
|
|
98
137
|
def authorize_user
|
99
|
-
|
100
|
-
|
101
|
-
redirect_to some_url unless has_access?(controller, action
|
138
|
+
controller = params[:controller]
|
139
|
+
action = params[:action]
|
140
|
+
redirect_to some_url unless has_access?(controller, action)
|
102
141
|
end
|
103
142
|
|
104
143
|
end
|
105
144
|
```
|
106
145
|
|
107
|
-
**Obs
|
146
|
+
**Obs. 1:** The **has_access?** method come from Controller Helper method which Arpa gem has been created.
|
147
|
+
|
148
|
+
**Obs. 2:** When you create the **before_filter** you probably wanna skip that callback in somes **controllers** (like login or devise controllers). To do this you need set the **skip_before_action** passing as parameter the name of before_filter method as you can see bellow:
|
149
|
+
|
150
|
+
```ruby
|
151
|
+
skip_before_action :authorize_user
|
152
|
+
```
|
153
|
+
|
154
|
+
|
155
|
+
## Descriptions Locales for Arpa::Entities::Action
|
108
156
|
|
157
|
+
Arpa will use on **description** method from Arpa::Entities::Action a specific Locale.
|
158
|
+
|
159
|
+
You should create a locale file to print correctly the descriptions of the actions.
|
160
|
+
|
161
|
+
####Eg.:
|
162
|
+
|
163
|
+
```ruby
|
164
|
+
en:
|
165
|
+
entities:
|
166
|
+
resources:
|
167
|
+
users: #Here is the name of controller
|
168
|
+
actions:
|
169
|
+
description:
|
170
|
+
#Here is each action of the controller
|
171
|
+
index: 'List of Users'
|
172
|
+
show: 'Show of User'
|
173
|
+
new: 'Access to registration form of User'
|
174
|
+
edit: 'Access to change form of User'
|
175
|
+
create: 'Perform action registering of User'
|
176
|
+
update: 'Perform action update of User'
|
177
|
+
destroy: 'Perform action destroy of User'
|
178
|
+
|
179
|
+
```
|
109
180
|
|
110
181
|
## Information
|
111
182
|
|
112
|
-
|
183
|
+
Arpa will add a new column called **is_arpa_admin** as boolean in the associate table with value **false** as default. You must set some user (creating a migration for example), with *is_arpa_admin* as **true** to navigate between the views without be catched by the filter verification.
|
184
|
+
|
185
|
+
If you want a **action** of some **Controller** pass without permission on *before_filter* callback. You just need start the name of action with underscode ('_'). For example:
|
186
|
+
|
187
|
+
```ruby
|
188
|
+
def _some_free_action_which_not_need_permission
|
189
|
+
end
|
190
|
+
```
|
191
|
+
|
192
|
+
|
193
|
+
The routes created by **arpa:controllers** generator will be able to access some paths for each Controller created:
|
113
194
|
|
114
195
|
```ruby
|
115
196
|
generate_resources_and_actions_resources GET /resources/generate_resources_and_actions(.:format) arpa/resources#generate_resources_and_actions
|
@@ -22,12 +22,12 @@ module Arpa
|
|
22
22
|
private
|
23
23
|
|
24
24
|
def has_session_or_current_user?
|
25
|
-
|
26
|
-
|
27
|
-
return true if
|
25
|
+
verified_session = try(:session)
|
26
|
+
verified_current_user = try(:current_user)
|
27
|
+
return true if verified_session && verified_current_user
|
28
28
|
log = Logger.new(STDOUT)
|
29
|
-
log.warn("The ApplicationController must has a attribute or method 'session'") unless
|
30
|
-
log.warn("The ApplicationController must has a attribute or method 'current_user'") unless
|
29
|
+
log.warn("The ApplicationController must has a attribute or method 'session'") unless verified_session
|
30
|
+
log.warn("The ApplicationController must has a attribute or method 'current_user'") unless verified_current_user
|
31
31
|
false
|
32
32
|
end
|
33
33
|
|
data/lib/arpa/entities/action.rb
CHANGED
@@ -10,11 +10,17 @@ module Arpa
|
|
10
10
|
@id = attrs[:id]
|
11
11
|
@name = attrs[:name]
|
12
12
|
@description = attrs[:description]
|
13
|
-
@role_ids = attrs[:role_ids]
|
14
|
-
@roles = attrs[:roles]
|
13
|
+
@role_ids = default_value_to_nil_or_empty(attrs[:role_ids], [])
|
14
|
+
@roles = default_value_to_nil_or_empty(attrs[:roles], [])
|
15
15
|
@created_at = attrs[:created_at]
|
16
16
|
@updated_at = attrs[:updated_at]
|
17
|
-
@removed = attrs[:removed]
|
17
|
+
@removed = default_value_to_nil_or_empty(attrs[:removed], false)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def default_value_to_nil_or_empty(attr_value, default_value)
|
22
|
+
return attr_value if attr_value.present?
|
23
|
+
default_value
|
18
24
|
end
|
19
25
|
|
20
26
|
end
|
data/lib/arpa/entities/role.rb
CHANGED
@@ -11,18 +11,24 @@ module Arpa
|
|
11
11
|
@id = attrs[:id]
|
12
12
|
@name = attrs[:name]
|
13
13
|
@description = attrs[:description]
|
14
|
-
@action_ids = attrs[:action_ids]
|
15
|
-
@actions = attrs[:actions]
|
16
|
-
@profiles = attrs[:profiles]
|
14
|
+
@action_ids = default_value_to_nil_or_empty(attrs[:action_ids], [])
|
15
|
+
@actions = default_value_to_nil_or_empty(attrs[:actions], [])
|
16
|
+
@profiles = default_value_to_nil_or_empty(attrs[:profiles], [])
|
17
17
|
@created_at = attrs[:created_at]
|
18
18
|
@updated_at = attrs[:updated_at]
|
19
|
-
@removed = attrs[:removed]
|
19
|
+
@removed = default_value_to_nil_or_empty(attrs[:removed], false)
|
20
20
|
end
|
21
21
|
|
22
22
|
def has_profile?
|
23
23
|
profiles.present?
|
24
24
|
end
|
25
25
|
|
26
|
+
private
|
27
|
+
def default_value_to_nil_or_empty(attr_value, default_value)
|
28
|
+
return attr_value if attr_value.present?
|
29
|
+
default_value
|
30
|
+
end
|
31
|
+
|
26
32
|
end
|
27
33
|
end
|
28
34
|
end
|
data/lib/arpa/version.rb
CHANGED
@@ -1,17 +1,4 @@
|
|
1
1
|
en:
|
2
|
-
entities:
|
3
|
-
resources:
|
4
|
-
users:
|
5
|
-
actions:
|
6
|
-
description:
|
7
|
-
index: 'List of Users'
|
8
|
-
show: 'Show of User'
|
9
|
-
new: 'Access to registration form of User'
|
10
|
-
edit: 'Access to change form of User'
|
11
|
-
create: 'Perform action registering of User'
|
12
|
-
update: 'Perform action update of User'
|
13
|
-
destroy: 'Perform action destroy of User'
|
14
|
-
|
15
2
|
errors:
|
16
3
|
format: ! '%{attribute} %{message}'
|
17
4
|
messages:
|
@@ -1,18 +1,38 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Entities::Action, type: :entity, fast: true do
|
4
|
-
let(:resource) { double(name: 'users') }
|
5
|
-
|
6
4
|
subject { Arpa::Entities::Action.new resource: resource, name: 'index'}
|
7
5
|
|
8
6
|
describe 'getting description by action name and resource name' do
|
7
|
+
before do
|
8
|
+
I18n.backend.store_translations(:en, entities: { resources: { users: { actions: { description: { index: 'List of Users' } } } } } )
|
9
|
+
end
|
9
10
|
|
10
11
|
context 'when resource.name is "users" and action.name is "index"' do
|
12
|
+
let(:resource) { double(name: 'users') }
|
11
13
|
|
12
14
|
it 'description should be "List of Users"' do
|
13
15
|
expect(subject.description).to eql "List of Users"
|
14
16
|
end
|
15
17
|
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe 'getting the resource name' do
|
21
|
+
|
22
|
+
context 'when resource is not nil' do
|
23
|
+
let(:resource) { double(name: 'users') }
|
24
|
+
|
25
|
+
it 'resource name should be the same of the attribute' do
|
26
|
+
expect(subject.resource_name).to eql 'users'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when resource is nil' do
|
31
|
+
let(:resource) { nil }
|
32
|
+
it 'resource name should be empty' do
|
33
|
+
expect(subject.resource_name).to be_empty
|
34
|
+
end
|
35
|
+
end
|
16
36
|
|
17
37
|
end
|
18
38
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Arpa::Entities::Permissions, type: :
|
3
|
+
describe Arpa::Entities::Permissions, type: :entity, fast: true do
|
4
4
|
let(:action_001) { double name: 'index', resource_name: 'users' }
|
5
5
|
let(:action_002) { double name: 'show', resource_name: 'users' }
|
6
6
|
let(:action_003) { double name: 'show', resource_name: 'users' }
|
@@ -34,26 +34,40 @@ describe Arpa::Entities::Permissions, type: :presenter, fast: true do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
describe '#has_permission?' do
|
37
|
-
let(:resource_name) { 'users' }
|
38
37
|
let(:result) { subject.has_permission?(resource_name, action_name) }
|
39
38
|
|
40
|
-
context 'when
|
41
|
-
let(:
|
39
|
+
context 'when pass a resource name with permission' do
|
40
|
+
let(:resource_name) { 'users' }
|
42
41
|
|
43
|
-
|
44
|
-
|
42
|
+
context 'when pass an action with permission' do
|
43
|
+
let(:action_name) { 'index' }
|
44
|
+
|
45
|
+
it 'should return true' do
|
46
|
+
expect(result).to be_truthy
|
47
|
+
end
|
45
48
|
end
|
46
49
|
|
50
|
+
context 'when pass an action with no permission' do
|
51
|
+
let(:action_name) { 'index_old' }
|
52
|
+
|
53
|
+
it 'should return false' do
|
54
|
+
expect(result).to be_falsey
|
55
|
+
end
|
56
|
+
end
|
47
57
|
end
|
48
58
|
|
49
|
-
context 'when
|
50
|
-
let(:
|
59
|
+
context 'when pass a resource name with no permission' do
|
60
|
+
let(:resource_name) { 'users_2' }
|
51
61
|
|
52
|
-
|
53
|
-
|
54
|
-
end
|
62
|
+
context 'when pass some action' do
|
63
|
+
let(:action_name) { 'index' }
|
55
64
|
|
65
|
+
it 'should return false' do
|
66
|
+
expect(result).to be_falsey
|
67
|
+
end
|
68
|
+
end
|
56
69
|
end
|
70
|
+
|
57
71
|
end
|
58
72
|
|
59
73
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Arpa::Entities::Profile, type: :entity, fast: true do
|
4
|
+
|
5
|
+
describe 'initializing' do
|
6
|
+
|
7
|
+
describe 'setting default values' do
|
8
|
+
|
9
|
+
context 'when pass some parameters as nil' do
|
10
|
+
|
11
|
+
it 'attribute :role_ids should be an empty Array' do
|
12
|
+
expect(subject.role_ids).to eq []
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'attribute :role should be an empty Array' do
|
16
|
+
expect(subject.roles).to eq []
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'attribute :removed should be false' do
|
20
|
+
expect(subject.removed).to be_falsey
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'when pass some parameters as empty' do
|
26
|
+
let(:attrs) { {role_ids: '', roles: '', removed: ''} }
|
27
|
+
subject { Arpa::Entities::Profile.new attrs }
|
28
|
+
|
29
|
+
it 'attribute :role_ids should be an empty Array' do
|
30
|
+
expect(subject.role_ids).to eq []
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'attribute :role should be an empty Array' do
|
34
|
+
expect(subject.roles).to eq []
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'attribute :removed should be false' do
|
38
|
+
expect(subject.removed).to be_falsey
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -2,6 +2,29 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Arpa::Entities::Resource, type: :entity, fast: true do
|
4
4
|
|
5
|
+
describe 'initializing' do
|
6
|
+
|
7
|
+
describe 'setting default values' do
|
8
|
+
|
9
|
+
context 'when pass :actions as nil' do
|
10
|
+
|
11
|
+
it 'attribute :actions should be an empty Array' do
|
12
|
+
expect(subject.actions).to eq []
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context 'when pass :actions as empty' do
|
18
|
+
let(:attrs) { {actions: ''} }
|
19
|
+
subject { Arpa::Entities::Resource.new attrs }
|
20
|
+
|
21
|
+
it 'attribute :actions should be an empty Array' do
|
22
|
+
expect(subject.actions).to eq []
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
5
28
|
describe '#build_correct_name' do
|
6
29
|
|
7
30
|
before { subject.build_correct_name }
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Arpa::Entities::Role, type: :entity, fast: true do
|
4
|
+
|
5
|
+
describe 'initializing' do
|
6
|
+
|
7
|
+
describe 'setting default values' do
|
8
|
+
|
9
|
+
context 'when pass some parameters as nil' do
|
10
|
+
|
11
|
+
it 'attribute :action_ids should be an empty Array' do
|
12
|
+
expect(subject.action_ids).to eq []
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'attribute :actions should be an empty Array' do
|
16
|
+
expect(subject.actions).to eq []
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'attribute :profiles should be an empty Array' do
|
20
|
+
expect(subject.profiles).to eq []
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'attribute :removed should be false' do
|
24
|
+
expect(subject.removed).to be_falsey
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'when pass some parameters as empty' do
|
30
|
+
let(:attrs) { {action_ids: '', actions: '', profiles: '', removed: ''} }
|
31
|
+
subject { Arpa::Entities::Role.new attrs }
|
32
|
+
|
33
|
+
it 'attribute :action_ids should be an empty Array' do
|
34
|
+
expect(subject.action_ids).to eq []
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'attribute :actions should be an empty Array' do
|
38
|
+
expect(subject.actions).to eq []
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'attribute :profiles should be an empty Array' do
|
42
|
+
expect(subject.profiles).to eq []
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'attribute :removed should be false' do
|
46
|
+
expect(subject.removed).to be_falsey
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arpa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rachid Calazans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -156,9 +156,6 @@ files:
|
|
156
156
|
- LICENSE.txt
|
157
157
|
- README.md
|
158
158
|
- Rakefile
|
159
|
-
- arpa-0.0.2.gem
|
160
|
-
- arpa-0.0.3.gem
|
161
|
-
- arpa-0.0.4.gem
|
162
159
|
- arpa.gemspec
|
163
160
|
- lib/arpa.rb
|
164
161
|
- lib/arpa/additions/resource.rb
|
@@ -249,7 +246,9 @@ files:
|
|
249
246
|
- spec/lib/ar/data_mappers/role_mapper_spec.rb
|
250
247
|
- spec/lib/ar/entities/action_spec.rb
|
251
248
|
- spec/lib/ar/entities/permissions_spec.rb
|
249
|
+
- spec/lib/ar/entities/profile_spec.rb
|
252
250
|
- spec/lib/ar/entities/resource_spec.rb
|
251
|
+
- spec/lib/ar/entities/role_spec.rb
|
253
252
|
- spec/lib/ar/repositories/actions/finder_spec.rb
|
254
253
|
- spec/lib/ar/repositories/base_spec.rb
|
255
254
|
- spec/lib/ar/repositories/profiles/finder_spec.rb
|
@@ -310,7 +309,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
309
|
version: '0'
|
311
310
|
requirements: []
|
312
311
|
rubyforge_project:
|
313
|
-
rubygems_version: 2.4.
|
312
|
+
rubygems_version: 2.4.6
|
314
313
|
signing_key:
|
315
314
|
specification_version: 4
|
316
315
|
summary: Authorization Gem for Ruby and Ruby on Rails projects
|
@@ -327,7 +326,9 @@ test_files:
|
|
327
326
|
- spec/lib/ar/data_mappers/role_mapper_spec.rb
|
328
327
|
- spec/lib/ar/entities/action_spec.rb
|
329
328
|
- spec/lib/ar/entities/permissions_spec.rb
|
329
|
+
- spec/lib/ar/entities/profile_spec.rb
|
330
330
|
- spec/lib/ar/entities/resource_spec.rb
|
331
|
+
- spec/lib/ar/entities/role_spec.rb
|
331
332
|
- spec/lib/ar/repositories/actions/finder_spec.rb
|
332
333
|
- spec/lib/ar/repositories/base_spec.rb
|
333
334
|
- spec/lib/ar/repositories/profiles/finder_spec.rb
|
data/arpa-0.0.2.gem
DELETED
Binary file
|
data/arpa-0.0.3.gem
DELETED
Binary file
|
data/arpa-0.0.4.gem
DELETED
Binary file
|