trust 0.5.0
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.
- data/MIT-LICENSE +23 -0
- data/README.md +244 -0
- data/Rakefile +37 -0
- data/lib/tasks/trust_tasks.rake +42 -0
- data/lib/trust/active_record.rb +65 -0
- data/lib/trust/authorization.rb +85 -0
- data/lib/trust/controller/properties.rb +134 -0
- data/lib/trust/controller/resource.rb +306 -0
- data/lib/trust/controller.rb +197 -0
- data/lib/trust/exceptions.rb +45 -0
- data/lib/trust/inheritable_attribute.rb +91 -0
- data/lib/trust/permissions.rb +268 -0
- data/lib/trust/test_helper.rb +56 -0
- data/lib/trust/version.rb +27 -0
- data/lib/trust.rb +39 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/accounts.js +2 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/clients.js +2 -0
- data/test/dummy/app/assets/javascripts/users.js +2 -0
- data/test/dummy/app/assets/stylesheets/accounts.css +4 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/assets/stylesheets/clients.css +4 -0
- data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/test/dummy/app/assets/stylesheets/users.css +4 -0
- data/test/dummy/app/controllers/accounts_controller.rb +100 -0
- data/test/dummy/app/controllers/application_controller.rb +31 -0
- data/test/dummy/app/controllers/clients_controller.rb +107 -0
- data/test/dummy/app/controllers/savings_accounts_controller.rb +27 -0
- data/test/dummy/app/controllers/settlements_controller.rb +26 -0
- data/test/dummy/app/controllers/users_controller.rb +107 -0
- data/test/dummy/app/helpers/accounts_helper.rb +26 -0
- data/test/dummy/app/helpers/application_helper.rb +26 -0
- data/test/dummy/app/helpers/clients_helper.rb +26 -0
- data/test/dummy/app/helpers/users_helper.rb +26 -0
- data/test/dummy/app/models/account/credit.rb +26 -0
- data/test/dummy/app/models/account.rb +35 -0
- data/test/dummy/app/models/client.rb +35 -0
- data/test/dummy/app/models/permissions.rb +68 -0
- data/test/dummy/app/models/savings_account.rb +26 -0
- data/test/dummy/app/models/user.rb +40 -0
- data/test/dummy/app/views/accounts/_form.html.erb +46 -0
- data/test/dummy/app/views/accounts/edit.html.erb +31 -0
- data/test/dummy/app/views/accounts/index.html.erb +48 -0
- data/test/dummy/app/views/accounts/new.html.erb +30 -0
- data/test/dummy/app/views/accounts/show.html.erb +35 -0
- data/test/dummy/app/views/clients/_form.html.erb +46 -0
- data/test/dummy/app/views/clients/edit.html.erb +31 -0
- data/test/dummy/app/views/clients/index.html.erb +48 -0
- data/test/dummy/app/views/clients/new.html.erb +30 -0
- data/test/dummy/app/views/clients/show.html.erb +35 -0
- data/test/dummy/app/views/layouts/application.html.erb +39 -0
- data/test/dummy/app/views/users/_form.html.erb +46 -0
- data/test/dummy/app/views/users/edit.html.erb +31 -0
- data/test/dummy/app/views/users/index.html.erb +48 -0
- data/test/dummy/app/views/users/new.html.erb +30 -0
- data/test/dummy/app/views/users/show.html.erb +35 -0
- data/test/dummy/config/application.rb +56 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +38 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/migrate/20120522115011_create_accounts.rb +36 -0
- data/test/dummy/db/migrate/20120522130322_create_users.rb +33 -0
- data/test/dummy/db/migrate/20120523144144_create_clients.rb +34 -0
- data/test/dummy/db/schema.rb +38 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/accounts.yml +7 -0
- data/test/dummy/test/fixtures/clients.yml +7 -0
- data/test/dummy/test/fixtures/users.yml +7 -0
- data/test/dummy/test/functional/accounts_controller_test.rb +123 -0
- data/test/dummy/test/functional/clients_controller_test.rb +74 -0
- data/test/dummy/test/functional/users_controller_test.rb +74 -0
- data/test/dummy/test/unit/account_test.rb +31 -0
- data/test/dummy/test/unit/client_test.rb +31 -0
- data/test/dummy/test/unit/helpers/accounts_helper_test.rb +28 -0
- data/test/dummy/test/unit/helpers/clients_helper_test.rb +28 -0
- data/test/dummy/test/unit/helpers/users_helper_test.rb +28 -0
- data/test/dummy/test/unit/permissions_test.rb +171 -0
- data/test/dummy/test/unit/user_test.rb +31 -0
- data/test/test_helper.rb +45 -0
- data/test/trust_test.rb +31 -0
- data/test/unit/trust/active_record_test.rb +56 -0
- data/test/unit/trust/authorization_test.rb +108 -0
- data/test/unit/trust/controller/properties_test.rb +132 -0
- data/test/unit/trust/controller/resource_test.rb +251 -0
- data/test/unit/trust/controller_test.rb +160 -0
- data/test/unit/trust/inheritable_attribute_test.rb +65 -0
- data/test/unit/trust/permissions_test.rb +258 -0
- metadata +280 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
# Copyright (c) 2012 Bingo Entreprenøren AS
|
|
2
|
+
# Copyright (c) 2012 Teknobingo Scandinavia AS
|
|
3
|
+
# Copyright (c) 2012 Knut I. Stenmark
|
|
4
|
+
# Copyright (c) 2012 Patrick Hanevold
|
|
5
|
+
#
|
|
6
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
|
7
|
+
# a copy of this software and associated documentation files (the
|
|
8
|
+
# "Software"), to deal in the Software without restriction, including
|
|
9
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
|
10
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
11
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
|
12
|
+
# the following conditions:
|
|
13
|
+
#
|
|
14
|
+
# The above copyright notice and this permission notice shall be
|
|
15
|
+
# included in all copies or substantial portions of the Software.
|
|
16
|
+
#
|
|
17
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
18
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
19
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
20
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
21
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
22
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
23
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
|
+
|
|
25
|
+
require 'test_helper'
|
|
26
|
+
|
|
27
|
+
class Trust::PermissionsTest < ActiveSupport::TestCase
|
|
28
|
+
setup do
|
|
29
|
+
class Fund < Trust::Permissions
|
|
30
|
+
end
|
|
31
|
+
@base = Fund
|
|
32
|
+
end
|
|
33
|
+
context 'class_attributes' do
|
|
34
|
+
should 'have default values' do
|
|
35
|
+
assert_equal @base.permissions, {}
|
|
36
|
+
assert_equal @base.action_aliases, {
|
|
37
|
+
read: [:index, :show],
|
|
38
|
+
create: [:create, :new],
|
|
39
|
+
update: [:update, :edit],
|
|
40
|
+
manage: [:index, :show, :create, :new, :update, :edit, :destroy]
|
|
41
|
+
}
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
context 'class method' do
|
|
46
|
+
context 'can' do
|
|
47
|
+
should 'work without using block' do
|
|
48
|
+
assert_equal ({:can => [[:hi, {}]]}), @base.can(:hi)
|
|
49
|
+
assert_equal ({:can => [[:hi, {}], [:wink, {}]]}), @base.can(:hi, :wink)
|
|
50
|
+
assert_equal ({:can => [[:hi, {:if => true}], [:wink, {:if => true}]]}), @base.can(:hi, :wink, :if => true)
|
|
51
|
+
@base.class_variable_set(:@@can_expressions, 0)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
context 'can with role block' do
|
|
55
|
+
setup do
|
|
56
|
+
class TestAuth < Trust::Permissions
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
should 'set permissions correctly' do
|
|
60
|
+
TestAuth.role :tester do
|
|
61
|
+
TestAuth.can :hi
|
|
62
|
+
TestAuth.can :wink
|
|
63
|
+
end
|
|
64
|
+
# verfy that permissions are structured correctly
|
|
65
|
+
expected = {:tester => [[:hi, {}],[:wink, {}]]}
|
|
66
|
+
assert_equal expected, TestAuth.permissions
|
|
67
|
+
expected = {}
|
|
68
|
+
# Verify that parent class is not affected
|
|
69
|
+
assert_equal expected, @base.permissions, "#{@base.name} was modified"
|
|
70
|
+
# Verify that aliases are expanded
|
|
71
|
+
expected = {:tester => [[:hi, {}],[:wink, {}],[:create, {}],[:new, {}]]}
|
|
72
|
+
TestAuth.role :tester do
|
|
73
|
+
TestAuth.can :create
|
|
74
|
+
end
|
|
75
|
+
assert_equal expected, TestAuth.permissions
|
|
76
|
+
# Verify support for multiple roles
|
|
77
|
+
expected = {:tester => [[:hi, {}],[:wink, {}],[:create, {}],[:new, {}]], :manager => [[:hi, {}]]}
|
|
78
|
+
TestAuth.role :manager do
|
|
79
|
+
TestAuth.can :hi
|
|
80
|
+
end
|
|
81
|
+
assert_equal expected, TestAuth.permissions
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
context 'can assigning role wihtout block' do
|
|
85
|
+
setup do
|
|
86
|
+
class TestRoleCan < Trust::Permissions
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
should 'set permissions correctly' do
|
|
90
|
+
TestRoleCan.role :tester, :manager, TestRoleCan.can(:hi, :wink, :if => true)
|
|
91
|
+
expected = {:tester => [[:hi, {:if => true}],[:wink, {:if => true}]], :manager => [[:hi, {:if => true}],[:wink, {:if => true}]]}
|
|
92
|
+
assert_equal expected, TestRoleCan.permissions
|
|
93
|
+
TestRoleCan.role :support, TestRoleCan.can(:update)
|
|
94
|
+
expected[:support] = [[:update, {}], [:edit, {}]]
|
|
95
|
+
assert_equal expected, TestRoleCan.permissions
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
context 'expand_aliases' do
|
|
99
|
+
should 'expand one alias' do
|
|
100
|
+
assert_equal [:update, :edit], @base.send(:expand_aliases, :update)
|
|
101
|
+
end
|
|
102
|
+
should 'expand multiple aliases' do
|
|
103
|
+
assert_equal [:update, :edit, :create, :new], @base.send(:expand_aliases, [:update, :create])
|
|
104
|
+
end
|
|
105
|
+
should 'return action if there are no aliases' do
|
|
106
|
+
assert_equal [:hi], @base.send(:expand_aliases, :hi)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
should 'raise exception if not assigned to a role' do
|
|
110
|
+
flunk if TestRoleCan.class_variable_get(:@@can_expressions) != 0
|
|
111
|
+
TestRoleCan.can :bu
|
|
112
|
+
assert_equal 1, TestRoleCan.class_variable_get(:@@can_expressions)
|
|
113
|
+
assert_raises Trust::RoleAssigmnentMissing do
|
|
114
|
+
TestRoleCan.role :buh do
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
TestRoleCan.can :bu
|
|
118
|
+
TestRoleCan.can :bu
|
|
119
|
+
assert_equal 2, TestRoleCan.class_variable_get(:@@can_expressions)
|
|
120
|
+
assert_raises Trust::RoleAssigmnentMissing do
|
|
121
|
+
TestRoleCan.role :buh
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
context 'instance method' do
|
|
127
|
+
setup do
|
|
128
|
+
@subject = @base.new(:user, :wink, :klass, :subject, :parent)
|
|
129
|
+
end
|
|
130
|
+
context 'authorized?' do
|
|
131
|
+
setup do
|
|
132
|
+
def authorized?
|
|
133
|
+
@subject.send(:authorized?)
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
should 'by default be false' do
|
|
137
|
+
@user = stub(:role_symbols => [])
|
|
138
|
+
@subject.stubs(:user).returns(@user)
|
|
139
|
+
assert !authorized?
|
|
140
|
+
end
|
|
141
|
+
should 'require explicit permission' do
|
|
142
|
+
@user = stub(:role_symbols => [:manager])
|
|
143
|
+
@subject.stubs(:user).returns(@user)
|
|
144
|
+
@base.expects(:permissions).returns({:tester => []})
|
|
145
|
+
assert !authorized?
|
|
146
|
+
@base.expects(:permissions).returns({:manager => [[:hi, {}]]})
|
|
147
|
+
assert !authorized?
|
|
148
|
+
@base.expects(:permissions).returns({:manager => [[:wink, {}]]})
|
|
149
|
+
assert authorized?
|
|
150
|
+
end
|
|
151
|
+
should 'handle multiple roles' do
|
|
152
|
+
@user = stub(:role_symbols => [:tester, :manager])
|
|
153
|
+
@subject.stubs(:user).returns(@user)
|
|
154
|
+
@base.stubs(:permissions).
|
|
155
|
+
returns({:tester => [[:hi, {}],[:wink, {}]]}).then.
|
|
156
|
+
returns({:manager => [[:hi, {}],[:wink, {}]]})
|
|
157
|
+
assert authorized?
|
|
158
|
+
assert authorized?
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
context 'eval_expr' do
|
|
162
|
+
setup do
|
|
163
|
+
def eval_expr(options)
|
|
164
|
+
@subject.send(:eval_expr, options)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
should 'raise exception if condition not supported' do
|
|
168
|
+
assert_raises Trust::UnsupportedCondition do
|
|
169
|
+
eval_expr(:unsupported => true)
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
should 'support multiple conditions' do
|
|
173
|
+
assert !eval_expr(:if => true, :unless => true)
|
|
174
|
+
assert !eval_expr(:if => false, :unless => true)
|
|
175
|
+
assert !eval_expr(:if => true, :unless => true)
|
|
176
|
+
assert eval_expr(:if => true, :unless => false)
|
|
177
|
+
end
|
|
178
|
+
should 'support the following conditions' do
|
|
179
|
+
assert eval_expr(:if => true)
|
|
180
|
+
assert !eval_expr(:unless => true)
|
|
181
|
+
end
|
|
182
|
+
should 'support symbol expression' do
|
|
183
|
+
@subject.expects(:hello).returns(true)
|
|
184
|
+
assert eval_expr(:if => :hello)
|
|
185
|
+
end
|
|
186
|
+
should 'support proc expression' do
|
|
187
|
+
assert eval_expr(:if => Proc.new { true })
|
|
188
|
+
assert eval_expr(:if => lambda { true })
|
|
189
|
+
assert eval_expr(:unless => lambda { false })
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
context 'accessing accessors in Permission instance' do
|
|
195
|
+
setup do
|
|
196
|
+
class Account < Trust::Permissions
|
|
197
|
+
role :tester do
|
|
198
|
+
can :test_user, :if => Proc.new { user.name == 'mcgormic' }
|
|
199
|
+
can :test_action, :if => lambda { action == :test_action }
|
|
200
|
+
can :test_klass, :if => lambda { klass == :klass }
|
|
201
|
+
can :test_subject, :if => lambda { subject == :subject }
|
|
202
|
+
can :test_parent, :if => lambda { parent == :parent }
|
|
203
|
+
can :test_failure, :if => lambda { failure == :failure }
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
@user = stub(:name => 'mcgormic', :role_symbols => [:tester])
|
|
207
|
+
end
|
|
208
|
+
should 'expose accessors' do
|
|
209
|
+
%w(user action klass subject parent).each do |attr|
|
|
210
|
+
@perm = Account.new(@user, :"test_#{attr}", :klass, :subject, :parent)
|
|
211
|
+
assert @perm.authorized?, "test_#{attr} failed"
|
|
212
|
+
end
|
|
213
|
+
assert_raises NameError do
|
|
214
|
+
@perm = Account.new(@user, :test_failure, :klass, :subject, :parent)
|
|
215
|
+
assert @perm.authorized?
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
context 'inheritance' do
|
|
222
|
+
should 'clone deeply' do
|
|
223
|
+
class TestBaseAuth < Trust::Permissions
|
|
224
|
+
end
|
|
225
|
+
TestBaseAuth.role :tester do
|
|
226
|
+
TestBaseAuth.can :hi, :if => :ho
|
|
227
|
+
TestBaseAuth.can :wink
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
class TestInheritedAuth < TestBaseAuth
|
|
231
|
+
end
|
|
232
|
+
TestInheritedAuth.role :tester do
|
|
233
|
+
TestInheritedAuth.can :foo, :if => :foobar
|
|
234
|
+
TestInheritedAuth.can :bar
|
|
235
|
+
end
|
|
236
|
+
expect = {:tester => [[:hi, {:if => :ho}],[:wink, {}]]}
|
|
237
|
+
assert_equal expect, TestBaseAuth.permissions
|
|
238
|
+
expect = {:tester => [[:hi, {:if => :ho}],[:wink, {}],[:foo, {:if => :foobar}],[:bar, {}]]}
|
|
239
|
+
assert_equal expect, TestInheritedAuth.permissions
|
|
240
|
+
end
|
|
241
|
+
should 'accumulate inherited permissions' do
|
|
242
|
+
class TestBaseAuth2 < Trust::Permissions
|
|
243
|
+
end
|
|
244
|
+
TestBaseAuth2.role :tester do
|
|
245
|
+
TestBaseAuth2.can :hi, :if => :ho
|
|
246
|
+
TestBaseAuth2.can :wink
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
class TestOverride < TestBaseAuth2
|
|
250
|
+
end
|
|
251
|
+
TestOverride.role :tester do
|
|
252
|
+
TestOverride.can :hi, :if => :ha
|
|
253
|
+
end
|
|
254
|
+
expect = {:tester => [[:hi, {:if=>:ho}], [:wink, {}], [:hi, {:if=>:ha}]]}
|
|
255
|
+
assert_equal expect, TestOverride.permissions
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: trust
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
prerelease:
|
|
5
|
+
version: 0.5.0
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Patrick Hanevold
|
|
9
|
+
- Knut I Stenmark
|
|
10
|
+
autorequire:
|
|
11
|
+
bindir: bin
|
|
12
|
+
cert_chain: []
|
|
13
|
+
|
|
14
|
+
date: 2012-06-04 00:00:00 Z
|
|
15
|
+
dependencies:
|
|
16
|
+
- !ruby/object:Gem::Dependency
|
|
17
|
+
name: rails
|
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
19
|
+
none: false
|
|
20
|
+
requirements:
|
|
21
|
+
- - ">="
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: 3.0.1
|
|
24
|
+
type: :runtime
|
|
25
|
+
prerelease: false
|
|
26
|
+
version_requirements: *id001
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: sqlite3
|
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
30
|
+
none: false
|
|
31
|
+
requirements:
|
|
32
|
+
- - ">="
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: "0"
|
|
35
|
+
type: :development
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: *id002
|
|
38
|
+
description: |
|
|
39
|
+
Trust is a resource oriented framework for authorization control. It has a loose coupling from the models, and features a native
|
|
40
|
+
Ruby implementation language. Support for inheritance and namespaced models as well as nested routes. Even permissions scheme supports inheritance.
|
|
41
|
+
|
|
42
|
+
email:
|
|
43
|
+
- patrick.hanevold@gmail.com
|
|
44
|
+
- knut.stenmark@gmail.com
|
|
45
|
+
executables: []
|
|
46
|
+
|
|
47
|
+
extensions: []
|
|
48
|
+
|
|
49
|
+
extra_rdoc_files: []
|
|
50
|
+
|
|
51
|
+
files:
|
|
52
|
+
- lib/tasks/trust_tasks.rake
|
|
53
|
+
- lib/trust/active_record.rb
|
|
54
|
+
- lib/trust/authorization.rb
|
|
55
|
+
- lib/trust/controller/properties.rb
|
|
56
|
+
- lib/trust/controller/resource.rb
|
|
57
|
+
- lib/trust/controller.rb
|
|
58
|
+
- lib/trust/exceptions.rb
|
|
59
|
+
- lib/trust/inheritable_attribute.rb
|
|
60
|
+
- lib/trust/permissions.rb
|
|
61
|
+
- lib/trust/test_helper.rb
|
|
62
|
+
- lib/trust/version.rb
|
|
63
|
+
- lib/trust.rb
|
|
64
|
+
- MIT-LICENSE
|
|
65
|
+
- Rakefile
|
|
66
|
+
- README.md
|
|
67
|
+
- test/dummy/app/assets/javascripts/accounts.js
|
|
68
|
+
- test/dummy/app/assets/javascripts/application.js
|
|
69
|
+
- test/dummy/app/assets/javascripts/clients.js
|
|
70
|
+
- test/dummy/app/assets/javascripts/users.js
|
|
71
|
+
- test/dummy/app/assets/stylesheets/accounts.css
|
|
72
|
+
- test/dummy/app/assets/stylesheets/application.css
|
|
73
|
+
- test/dummy/app/assets/stylesheets/clients.css
|
|
74
|
+
- test/dummy/app/assets/stylesheets/scaffold.css
|
|
75
|
+
- test/dummy/app/assets/stylesheets/users.css
|
|
76
|
+
- test/dummy/app/controllers/accounts_controller.rb
|
|
77
|
+
- test/dummy/app/controllers/application_controller.rb
|
|
78
|
+
- test/dummy/app/controllers/clients_controller.rb
|
|
79
|
+
- test/dummy/app/controllers/savings_accounts_controller.rb
|
|
80
|
+
- test/dummy/app/controllers/settlements_controller.rb
|
|
81
|
+
- test/dummy/app/controllers/users_controller.rb
|
|
82
|
+
- test/dummy/app/helpers/accounts_helper.rb
|
|
83
|
+
- test/dummy/app/helpers/application_helper.rb
|
|
84
|
+
- test/dummy/app/helpers/clients_helper.rb
|
|
85
|
+
- test/dummy/app/helpers/users_helper.rb
|
|
86
|
+
- test/dummy/app/models/account/credit.rb
|
|
87
|
+
- test/dummy/app/models/account.rb
|
|
88
|
+
- test/dummy/app/models/client.rb
|
|
89
|
+
- test/dummy/app/models/permissions.rb
|
|
90
|
+
- test/dummy/app/models/savings_account.rb
|
|
91
|
+
- test/dummy/app/models/user.rb
|
|
92
|
+
- test/dummy/app/views/accounts/_form.html.erb
|
|
93
|
+
- test/dummy/app/views/accounts/edit.html.erb
|
|
94
|
+
- test/dummy/app/views/accounts/index.html.erb
|
|
95
|
+
- test/dummy/app/views/accounts/new.html.erb
|
|
96
|
+
- test/dummy/app/views/accounts/show.html.erb
|
|
97
|
+
- test/dummy/app/views/clients/_form.html.erb
|
|
98
|
+
- test/dummy/app/views/clients/edit.html.erb
|
|
99
|
+
- test/dummy/app/views/clients/index.html.erb
|
|
100
|
+
- test/dummy/app/views/clients/new.html.erb
|
|
101
|
+
- test/dummy/app/views/clients/show.html.erb
|
|
102
|
+
- test/dummy/app/views/layouts/application.html.erb
|
|
103
|
+
- test/dummy/app/views/users/_form.html.erb
|
|
104
|
+
- test/dummy/app/views/users/edit.html.erb
|
|
105
|
+
- test/dummy/app/views/users/index.html.erb
|
|
106
|
+
- test/dummy/app/views/users/new.html.erb
|
|
107
|
+
- test/dummy/app/views/users/show.html.erb
|
|
108
|
+
- test/dummy/config/application.rb
|
|
109
|
+
- test/dummy/config/boot.rb
|
|
110
|
+
- test/dummy/config/database.yml
|
|
111
|
+
- test/dummy/config/environment.rb
|
|
112
|
+
- test/dummy/config/environments/development.rb
|
|
113
|
+
- test/dummy/config/environments/production.rb
|
|
114
|
+
- test/dummy/config/environments/test.rb
|
|
115
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
116
|
+
- test/dummy/config/initializers/inflections.rb
|
|
117
|
+
- test/dummy/config/initializers/mime_types.rb
|
|
118
|
+
- test/dummy/config/initializers/secret_token.rb
|
|
119
|
+
- test/dummy/config/initializers/session_store.rb
|
|
120
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
|
121
|
+
- test/dummy/config/locales/en.yml
|
|
122
|
+
- test/dummy/config/routes.rb
|
|
123
|
+
- test/dummy/config.ru
|
|
124
|
+
- test/dummy/db/migrate/20120522115011_create_accounts.rb
|
|
125
|
+
- test/dummy/db/migrate/20120522130322_create_users.rb
|
|
126
|
+
- test/dummy/db/migrate/20120523144144_create_clients.rb
|
|
127
|
+
- test/dummy/db/schema.rb
|
|
128
|
+
- test/dummy/public/404.html
|
|
129
|
+
- test/dummy/public/422.html
|
|
130
|
+
- test/dummy/public/500.html
|
|
131
|
+
- test/dummy/public/favicon.ico
|
|
132
|
+
- test/dummy/Rakefile
|
|
133
|
+
- test/dummy/README.rdoc
|
|
134
|
+
- test/dummy/script/rails
|
|
135
|
+
- test/dummy/test/fixtures/accounts.yml
|
|
136
|
+
- test/dummy/test/fixtures/clients.yml
|
|
137
|
+
- test/dummy/test/fixtures/users.yml
|
|
138
|
+
- test/dummy/test/functional/accounts_controller_test.rb
|
|
139
|
+
- test/dummy/test/functional/clients_controller_test.rb
|
|
140
|
+
- test/dummy/test/functional/users_controller_test.rb
|
|
141
|
+
- test/dummy/test/unit/account_test.rb
|
|
142
|
+
- test/dummy/test/unit/client_test.rb
|
|
143
|
+
- test/dummy/test/unit/helpers/accounts_helper_test.rb
|
|
144
|
+
- test/dummy/test/unit/helpers/clients_helper_test.rb
|
|
145
|
+
- test/dummy/test/unit/helpers/users_helper_test.rb
|
|
146
|
+
- test/dummy/test/unit/permissions_test.rb
|
|
147
|
+
- test/dummy/test/unit/user_test.rb
|
|
148
|
+
- test/test_helper.rb
|
|
149
|
+
- test/trust_test.rb
|
|
150
|
+
- test/unit/trust/active_record_test.rb
|
|
151
|
+
- test/unit/trust/authorization_test.rb
|
|
152
|
+
- test/unit/trust/controller/properties_test.rb
|
|
153
|
+
- test/unit/trust/controller/resource_test.rb
|
|
154
|
+
- test/unit/trust/controller_test.rb
|
|
155
|
+
- test/unit/trust/inheritable_attribute_test.rb
|
|
156
|
+
- test/unit/trust/permissions_test.rb
|
|
157
|
+
homepage: https://github.com/teknobingo/trust
|
|
158
|
+
licenses: []
|
|
159
|
+
|
|
160
|
+
post_install_message:
|
|
161
|
+
rdoc_options: []
|
|
162
|
+
|
|
163
|
+
require_paths:
|
|
164
|
+
- lib
|
|
165
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
166
|
+
none: false
|
|
167
|
+
requirements:
|
|
168
|
+
- - ">="
|
|
169
|
+
- !ruby/object:Gem::Version
|
|
170
|
+
hash: 1800778008452911266
|
|
171
|
+
segments:
|
|
172
|
+
- 0
|
|
173
|
+
version: "0"
|
|
174
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
|
+
none: false
|
|
176
|
+
requirements:
|
|
177
|
+
- - ">="
|
|
178
|
+
- !ruby/object:Gem::Version
|
|
179
|
+
hash: 1800778008452911266
|
|
180
|
+
segments:
|
|
181
|
+
- 0
|
|
182
|
+
version: "0"
|
|
183
|
+
requirements: []
|
|
184
|
+
|
|
185
|
+
rubyforge_project:
|
|
186
|
+
rubygems_version: 1.8.24
|
|
187
|
+
signing_key:
|
|
188
|
+
specification_version: 3
|
|
189
|
+
summary: Trust is a framework for authorization control in RubyOnRails
|
|
190
|
+
test_files:
|
|
191
|
+
- test/dummy/app/assets/javascripts/accounts.js
|
|
192
|
+
- test/dummy/app/assets/javascripts/application.js
|
|
193
|
+
- test/dummy/app/assets/javascripts/clients.js
|
|
194
|
+
- test/dummy/app/assets/javascripts/users.js
|
|
195
|
+
- test/dummy/app/assets/stylesheets/accounts.css
|
|
196
|
+
- test/dummy/app/assets/stylesheets/application.css
|
|
197
|
+
- test/dummy/app/assets/stylesheets/clients.css
|
|
198
|
+
- test/dummy/app/assets/stylesheets/scaffold.css
|
|
199
|
+
- test/dummy/app/assets/stylesheets/users.css
|
|
200
|
+
- test/dummy/app/controllers/accounts_controller.rb
|
|
201
|
+
- test/dummy/app/controllers/application_controller.rb
|
|
202
|
+
- test/dummy/app/controllers/clients_controller.rb
|
|
203
|
+
- test/dummy/app/controllers/savings_accounts_controller.rb
|
|
204
|
+
- test/dummy/app/controllers/settlements_controller.rb
|
|
205
|
+
- test/dummy/app/controllers/users_controller.rb
|
|
206
|
+
- test/dummy/app/helpers/accounts_helper.rb
|
|
207
|
+
- test/dummy/app/helpers/application_helper.rb
|
|
208
|
+
- test/dummy/app/helpers/clients_helper.rb
|
|
209
|
+
- test/dummy/app/helpers/users_helper.rb
|
|
210
|
+
- test/dummy/app/models/account/credit.rb
|
|
211
|
+
- test/dummy/app/models/account.rb
|
|
212
|
+
- test/dummy/app/models/client.rb
|
|
213
|
+
- test/dummy/app/models/permissions.rb
|
|
214
|
+
- test/dummy/app/models/savings_account.rb
|
|
215
|
+
- test/dummy/app/models/user.rb
|
|
216
|
+
- test/dummy/app/views/accounts/_form.html.erb
|
|
217
|
+
- test/dummy/app/views/accounts/edit.html.erb
|
|
218
|
+
- test/dummy/app/views/accounts/index.html.erb
|
|
219
|
+
- test/dummy/app/views/accounts/new.html.erb
|
|
220
|
+
- test/dummy/app/views/accounts/show.html.erb
|
|
221
|
+
- test/dummy/app/views/clients/_form.html.erb
|
|
222
|
+
- test/dummy/app/views/clients/edit.html.erb
|
|
223
|
+
- test/dummy/app/views/clients/index.html.erb
|
|
224
|
+
- test/dummy/app/views/clients/new.html.erb
|
|
225
|
+
- test/dummy/app/views/clients/show.html.erb
|
|
226
|
+
- test/dummy/app/views/layouts/application.html.erb
|
|
227
|
+
- test/dummy/app/views/users/_form.html.erb
|
|
228
|
+
- test/dummy/app/views/users/edit.html.erb
|
|
229
|
+
- test/dummy/app/views/users/index.html.erb
|
|
230
|
+
- test/dummy/app/views/users/new.html.erb
|
|
231
|
+
- test/dummy/app/views/users/show.html.erb
|
|
232
|
+
- test/dummy/config/application.rb
|
|
233
|
+
- test/dummy/config/boot.rb
|
|
234
|
+
- test/dummy/config/database.yml
|
|
235
|
+
- test/dummy/config/environment.rb
|
|
236
|
+
- test/dummy/config/environments/development.rb
|
|
237
|
+
- test/dummy/config/environments/production.rb
|
|
238
|
+
- test/dummy/config/environments/test.rb
|
|
239
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
240
|
+
- test/dummy/config/initializers/inflections.rb
|
|
241
|
+
- test/dummy/config/initializers/mime_types.rb
|
|
242
|
+
- test/dummy/config/initializers/secret_token.rb
|
|
243
|
+
- test/dummy/config/initializers/session_store.rb
|
|
244
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
|
245
|
+
- test/dummy/config/locales/en.yml
|
|
246
|
+
- test/dummy/config/routes.rb
|
|
247
|
+
- test/dummy/config.ru
|
|
248
|
+
- test/dummy/db/migrate/20120522115011_create_accounts.rb
|
|
249
|
+
- test/dummy/db/migrate/20120522130322_create_users.rb
|
|
250
|
+
- test/dummy/db/migrate/20120523144144_create_clients.rb
|
|
251
|
+
- test/dummy/db/schema.rb
|
|
252
|
+
- test/dummy/public/404.html
|
|
253
|
+
- test/dummy/public/422.html
|
|
254
|
+
- test/dummy/public/500.html
|
|
255
|
+
- test/dummy/public/favicon.ico
|
|
256
|
+
- test/dummy/Rakefile
|
|
257
|
+
- test/dummy/README.rdoc
|
|
258
|
+
- test/dummy/script/rails
|
|
259
|
+
- test/dummy/test/fixtures/accounts.yml
|
|
260
|
+
- test/dummy/test/fixtures/clients.yml
|
|
261
|
+
- test/dummy/test/fixtures/users.yml
|
|
262
|
+
- test/dummy/test/functional/accounts_controller_test.rb
|
|
263
|
+
- test/dummy/test/functional/clients_controller_test.rb
|
|
264
|
+
- test/dummy/test/functional/users_controller_test.rb
|
|
265
|
+
- test/dummy/test/unit/account_test.rb
|
|
266
|
+
- test/dummy/test/unit/client_test.rb
|
|
267
|
+
- test/dummy/test/unit/helpers/accounts_helper_test.rb
|
|
268
|
+
- test/dummy/test/unit/helpers/clients_helper_test.rb
|
|
269
|
+
- test/dummy/test/unit/helpers/users_helper_test.rb
|
|
270
|
+
- test/dummy/test/unit/permissions_test.rb
|
|
271
|
+
- test/dummy/test/unit/user_test.rb
|
|
272
|
+
- test/test_helper.rb
|
|
273
|
+
- test/trust_test.rb
|
|
274
|
+
- test/unit/trust/active_record_test.rb
|
|
275
|
+
- test/unit/trust/authorization_test.rb
|
|
276
|
+
- test/unit/trust/controller/properties_test.rb
|
|
277
|
+
- test/unit/trust/controller/resource_test.rb
|
|
278
|
+
- test/unit/trust/controller_test.rb
|
|
279
|
+
- test/unit/trust/inheritable_attribute_test.rb
|
|
280
|
+
- test/unit/trust/permissions_test.rb
|