trust 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. data/MIT-LICENSE +23 -0
  2. data/README.md +244 -0
  3. data/Rakefile +37 -0
  4. data/lib/tasks/trust_tasks.rake +42 -0
  5. data/lib/trust/active_record.rb +65 -0
  6. data/lib/trust/authorization.rb +85 -0
  7. data/lib/trust/controller/properties.rb +134 -0
  8. data/lib/trust/controller/resource.rb +306 -0
  9. data/lib/trust/controller.rb +197 -0
  10. data/lib/trust/exceptions.rb +45 -0
  11. data/lib/trust/inheritable_attribute.rb +91 -0
  12. data/lib/trust/permissions.rb +268 -0
  13. data/lib/trust/test_helper.rb +56 -0
  14. data/lib/trust/version.rb +27 -0
  15. data/lib/trust.rb +39 -0
  16. data/test/dummy/README.rdoc +261 -0
  17. data/test/dummy/Rakefile +7 -0
  18. data/test/dummy/app/assets/javascripts/accounts.js +2 -0
  19. data/test/dummy/app/assets/javascripts/application.js +15 -0
  20. data/test/dummy/app/assets/javascripts/clients.js +2 -0
  21. data/test/dummy/app/assets/javascripts/users.js +2 -0
  22. data/test/dummy/app/assets/stylesheets/accounts.css +4 -0
  23. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  24. data/test/dummy/app/assets/stylesheets/clients.css +4 -0
  25. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  26. data/test/dummy/app/assets/stylesheets/users.css +4 -0
  27. data/test/dummy/app/controllers/accounts_controller.rb +100 -0
  28. data/test/dummy/app/controllers/application_controller.rb +31 -0
  29. data/test/dummy/app/controllers/clients_controller.rb +107 -0
  30. data/test/dummy/app/controllers/savings_accounts_controller.rb +27 -0
  31. data/test/dummy/app/controllers/settlements_controller.rb +26 -0
  32. data/test/dummy/app/controllers/users_controller.rb +107 -0
  33. data/test/dummy/app/helpers/accounts_helper.rb +26 -0
  34. data/test/dummy/app/helpers/application_helper.rb +26 -0
  35. data/test/dummy/app/helpers/clients_helper.rb +26 -0
  36. data/test/dummy/app/helpers/users_helper.rb +26 -0
  37. data/test/dummy/app/models/account/credit.rb +26 -0
  38. data/test/dummy/app/models/account.rb +35 -0
  39. data/test/dummy/app/models/client.rb +35 -0
  40. data/test/dummy/app/models/permissions.rb +68 -0
  41. data/test/dummy/app/models/savings_account.rb +26 -0
  42. data/test/dummy/app/models/user.rb +40 -0
  43. data/test/dummy/app/views/accounts/_form.html.erb +46 -0
  44. data/test/dummy/app/views/accounts/edit.html.erb +31 -0
  45. data/test/dummy/app/views/accounts/index.html.erb +48 -0
  46. data/test/dummy/app/views/accounts/new.html.erb +30 -0
  47. data/test/dummy/app/views/accounts/show.html.erb +35 -0
  48. data/test/dummy/app/views/clients/_form.html.erb +46 -0
  49. data/test/dummy/app/views/clients/edit.html.erb +31 -0
  50. data/test/dummy/app/views/clients/index.html.erb +48 -0
  51. data/test/dummy/app/views/clients/new.html.erb +30 -0
  52. data/test/dummy/app/views/clients/show.html.erb +35 -0
  53. data/test/dummy/app/views/layouts/application.html.erb +39 -0
  54. data/test/dummy/app/views/users/_form.html.erb +46 -0
  55. data/test/dummy/app/views/users/edit.html.erb +31 -0
  56. data/test/dummy/app/views/users/index.html.erb +48 -0
  57. data/test/dummy/app/views/users/new.html.erb +30 -0
  58. data/test/dummy/app/views/users/show.html.erb +35 -0
  59. data/test/dummy/config/application.rb +56 -0
  60. data/test/dummy/config/boot.rb +10 -0
  61. data/test/dummy/config/database.yml +25 -0
  62. data/test/dummy/config/environment.rb +5 -0
  63. data/test/dummy/config/environments/development.rb +37 -0
  64. data/test/dummy/config/environments/production.rb +67 -0
  65. data/test/dummy/config/environments/test.rb +37 -0
  66. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  67. data/test/dummy/config/initializers/inflections.rb +15 -0
  68. data/test/dummy/config/initializers/mime_types.rb +5 -0
  69. data/test/dummy/config/initializers/secret_token.rb +7 -0
  70. data/test/dummy/config/initializers/session_store.rb +8 -0
  71. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  72. data/test/dummy/config/locales/en.yml +5 -0
  73. data/test/dummy/config/routes.rb +38 -0
  74. data/test/dummy/config.ru +4 -0
  75. data/test/dummy/db/migrate/20120522115011_create_accounts.rb +36 -0
  76. data/test/dummy/db/migrate/20120522130322_create_users.rb +33 -0
  77. data/test/dummy/db/migrate/20120523144144_create_clients.rb +34 -0
  78. data/test/dummy/db/schema.rb +38 -0
  79. data/test/dummy/public/404.html +26 -0
  80. data/test/dummy/public/422.html +26 -0
  81. data/test/dummy/public/500.html +25 -0
  82. data/test/dummy/public/favicon.ico +0 -0
  83. data/test/dummy/script/rails +6 -0
  84. data/test/dummy/test/fixtures/accounts.yml +7 -0
  85. data/test/dummy/test/fixtures/clients.yml +7 -0
  86. data/test/dummy/test/fixtures/users.yml +7 -0
  87. data/test/dummy/test/functional/accounts_controller_test.rb +123 -0
  88. data/test/dummy/test/functional/clients_controller_test.rb +74 -0
  89. data/test/dummy/test/functional/users_controller_test.rb +74 -0
  90. data/test/dummy/test/unit/account_test.rb +31 -0
  91. data/test/dummy/test/unit/client_test.rb +31 -0
  92. data/test/dummy/test/unit/helpers/accounts_helper_test.rb +28 -0
  93. data/test/dummy/test/unit/helpers/clients_helper_test.rb +28 -0
  94. data/test/dummy/test/unit/helpers/users_helper_test.rb +28 -0
  95. data/test/dummy/test/unit/permissions_test.rb +171 -0
  96. data/test/dummy/test/unit/user_test.rb +31 -0
  97. data/test/test_helper.rb +45 -0
  98. data/test/trust_test.rb +31 -0
  99. data/test/unit/trust/active_record_test.rb +56 -0
  100. data/test/unit/trust/authorization_test.rb +108 -0
  101. data/test/unit/trust/controller/properties_test.rb +132 -0
  102. data/test/unit/trust/controller/resource_test.rb +251 -0
  103. data/test/unit/trust/controller_test.rb +160 -0
  104. data/test/unit/trust/inheritable_attribute_test.rb +65 -0
  105. data/test/unit/trust/permissions_test.rb +258 -0
  106. 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