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.
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