simon_says 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.gitpublish +3 -0
  4. data/.travis.yml +9 -0
  5. data/Gemfile +13 -0
  6. data/Guardfile +13 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +18 -0
  9. data/ROADMAP.md +9 -0
  10. data/Rakefile +24 -0
  11. data/SimonSays.png +0 -0
  12. data/lib/simon_says/authorizer.rb +157 -0
  13. data/lib/simon_says/roleable.rb +107 -0
  14. data/lib/simon_says/version.rb +3 -0
  15. data/lib/simon_says.rb +8 -0
  16. data/simon_says.gemspec +28 -0
  17. data/test/controllers/admin/reports_controller_test.rb +92 -0
  18. data/test/controllers/documents_controller_test.rb +87 -0
  19. data/test/models/admin_test.rb +7 -0
  20. data/test/models/membership_test.rb +7 -0
  21. data/test/rails_app/.gitignore +16 -0
  22. data/test/rails_app/README.rdoc +28 -0
  23. data/test/rails_app/Rakefile +6 -0
  24. data/test/rails_app/app/assets/images/.keep +0 -0
  25. data/test/rails_app/app/assets/javascripts/application.js +16 -0
  26. data/test/rails_app/app/assets/stylesheets/application.css +15 -0
  27. data/test/rails_app/app/controllers/admin/reports_controller.rb +40 -0
  28. data/test/rails_app/app/controllers/application_controller.rb +19 -0
  29. data/test/rails_app/app/controllers/concerns/.keep +0 -0
  30. data/test/rails_app/app/controllers/documents_controller.rb +48 -0
  31. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  32. data/test/rails_app/app/mailers/.keep +0 -0
  33. data/test/rails_app/app/models/.keep +0 -0
  34. data/test/rails_app/app/models/admin/report.rb +2 -0
  35. data/test/rails_app/app/models/admin.rb +5 -0
  36. data/test/rails_app/app/models/concerns/.keep +0 -0
  37. data/test/rails_app/app/models/document.rb +4 -0
  38. data/test/rails_app/app/models/membership.rb +8 -0
  39. data/test/rails_app/app/models/user.rb +4 -0
  40. data/test/rails_app/app/views/layouts/application.html.erb +14 -0
  41. data/test/rails_app/bin/bundle +3 -0
  42. data/test/rails_app/bin/rails +8 -0
  43. data/test/rails_app/bin/rake +8 -0
  44. data/test/rails_app/bin/spring +18 -0
  45. data/test/rails_app/config/application.rb +29 -0
  46. data/test/rails_app/config/boot.rb +4 -0
  47. data/test/rails_app/config/database.yml +25 -0
  48. data/test/rails_app/config/environment.rb +5 -0
  49. data/test/rails_app/config/environments/development.rb +37 -0
  50. data/test/rails_app/config/environments/production.rb +78 -0
  51. data/test/rails_app/config/environments/test.rb +39 -0
  52. data/test/rails_app/config/initializers/assets.rb +8 -0
  53. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  54. data/test/rails_app/config/initializers/cookies_serializer.rb +3 -0
  55. data/test/rails_app/config/initializers/filter_parameter_logging.rb +4 -0
  56. data/test/rails_app/config/initializers/inflections.rb +16 -0
  57. data/test/rails_app/config/initializers/mime_types.rb +4 -0
  58. data/test/rails_app/config/initializers/session_store.rb +3 -0
  59. data/test/rails_app/config/initializers/wrap_parameters.rb +14 -0
  60. data/test/rails_app/config/locales/en.yml +23 -0
  61. data/test/rails_app/config/routes.rb +7 -0
  62. data/test/rails_app/config/secrets.yml +22 -0
  63. data/test/rails_app/config.ru +4 -0
  64. data/test/rails_app/db/migrate/20141016142638_create_admins.rb +9 -0
  65. data/test/rails_app/db/migrate/20141016183619_create_users.rb +8 -0
  66. data/test/rails_app/db/migrate/20141016183633_create_memberships.rb +12 -0
  67. data/test/rails_app/db/migrate/20141016183642_create_documents.rb +9 -0
  68. data/test/rails_app/db/migrate/20141017140833_create_admin_reports.rb +9 -0
  69. data/test/rails_app/db/schema.rb +47 -0
  70. data/test/rails_app/db/seeds.rb +7 -0
  71. data/test/rails_app/lib/assets/.keep +0 -0
  72. data/test/rails_app/lib/tasks/.keep +0 -0
  73. data/test/rails_app/log/.keep +0 -0
  74. data/test/rails_app/public/404.html +67 -0
  75. data/test/rails_app/public/422.html +67 -0
  76. data/test/rails_app/public/500.html +66 -0
  77. data/test/rails_app/public/favicon.ico +0 -0
  78. data/test/rails_app/public/robots.txt +5 -0
  79. data/test/rails_app/test/controllers/.keep +0 -0
  80. data/test/rails_app/test/fixtures/.keep +0 -0
  81. data/test/rails_app/test/fixtures/admin/reports.yml +2 -0
  82. data/test/rails_app/test/fixtures/admins.yml +11 -0
  83. data/test/rails_app/test/fixtures/documents.yml +8 -0
  84. data/test/rails_app/test/fixtures/memberships.yml +10 -0
  85. data/test/rails_app/test/fixtures/users.yml +2 -0
  86. data/test/rails_app/test/helpers/.keep +0 -0
  87. data/test/rails_app/test/integration/.keep +0 -0
  88. data/test/rails_app/test/mailers/.keep +0 -0
  89. data/test/rails_app/test/models/.keep +0 -0
  90. data/test/rails_app/test/models/admin/report_test.rb +7 -0
  91. data/test/rails_app/test/models/document_test.rb +7 -0
  92. data/test/rails_app/test/models/membership_test.rb +7 -0
  93. data/test/rails_app/test/models/user_test.rb +7 -0
  94. data/test/rails_app/test/test_helper.rb +10 -0
  95. data/test/rails_app/vendor/assets/javascripts/.keep +0 -0
  96. data/test/rails_app/vendor/assets/stylesheets/.keep +0 -0
  97. data/test/simon_says/authorizer_test.rb +143 -0
  98. data/test/simon_says/roleable_test.rb +200 -0
  99. data/test/simon_says_test.rb +7 -0
  100. data/test/test_helper.rb +48 -0
  101. metadata +312 -0
@@ -0,0 +1,200 @@
1
+ require 'test_helper'
2
+
3
+ class RoleableTest < ActiveSupport::TestCase
4
+ setup do
5
+ create_test_table :test_widgets do |t|
6
+ t.integer :roles_mask, default: 0
7
+ t.integer :access_mask, default: 0
8
+ end
9
+
10
+ @klass = Class.new(ActiveRecord::Base) do
11
+ self.table_name = 'test_widgets'
12
+
13
+ def self.name
14
+ 'User'
15
+ end
16
+
17
+ include SimonSays::Roleable
18
+
19
+ has_roles :read, :write
20
+ end
21
+
22
+ @as_klass = Class.new(ActiveRecord::Base) do
23
+ self.table_name = 'test_widgets'
24
+
25
+ def self.name
26
+ 'Admin'
27
+ end
28
+
29
+ include SimonSays::Roleable
30
+
31
+ has_roles :moderator, :support, :editor, as: :access
32
+ end
33
+
34
+ @instance = @klass.new
35
+ @as_instance = @as_klass.new
36
+ end
37
+
38
+ test "adds constant" do
39
+ assert_equal [:read, :write], @klass::ROLES
40
+ end
41
+
42
+ test "adds constant with :as option" do
43
+ assert_equal [:moderator, :support, :editor], @as_klass::ACCESS
44
+ end
45
+
46
+ test "adds roles method" do
47
+ assert @instance.respond_to?(:roles)
48
+ end
49
+
50
+ test "adds roles= method" do
51
+ assert @instance.respond_to?(:roles=)
52
+ end
53
+
54
+ test "adds reader method with :as option" do
55
+ assert @as_instance.respond_to?(:access)
56
+ end
57
+
58
+ test "adds writer method with :as option" do
59
+ assert @as_instance.respond_to?(:access=)
60
+ end
61
+
62
+ test 'roles returns array of symbols' do
63
+ @instance.roles_mask = 3
64
+
65
+ assert_equal [:read, :write], @instance.roles
66
+ end
67
+
68
+ test 'roles returns array of symbols with :as option' do
69
+ @as_instance.access_mask = 6
70
+
71
+ assert_equal [:support, :editor], @as_instance.access
72
+ end
73
+
74
+ test "set single symbol" do
75
+ @instance.roles = :read
76
+
77
+ assert_equal 1, @instance.roles_mask
78
+ end
79
+
80
+ test "set single symbol with :as option" do
81
+ @as_instance.access = :moderator
82
+
83
+ assert_equal 1, @as_instance.access_mask
84
+ end
85
+
86
+ test "set single string" do
87
+ @instance.roles = 'write'
88
+
89
+ assert_equal 2, @instance.roles_mask
90
+ end
91
+
92
+ test "set single string with :as option" do
93
+ @as_instance.access = 'support'
94
+
95
+ assert_equal 2, @as_instance.access_mask
96
+ end
97
+
98
+ test "set with multi symbols" do
99
+ @instance.roles = :read, :write
100
+
101
+ assert_equal 3, @instance.roles_mask
102
+ end
103
+
104
+ test "set with multi symbols with :as option" do
105
+ @as_instance.access = :support, :editor
106
+
107
+ assert_equal 6, @as_instance.access_mask
108
+ end
109
+
110
+ test "set with multi strings" do
111
+ @instance.roles = 'read', 'write'
112
+
113
+ assert_equal 3, @instance.roles_mask
114
+ end
115
+
116
+ test "set with multi strings with :as option" do
117
+ @as_instance.access = 'support', 'editor'
118
+
119
+ assert_equal 6, @as_instance.access_mask
120
+ end
121
+
122
+ test 'set with array of strings' do
123
+ @instance.roles = ['read', 'write']
124
+
125
+ assert_equal 3, @instance.roles_mask
126
+ end
127
+
128
+ test 'set with array of strings with :as option' do
129
+ @as_instance.access = ['support', 'editor']
130
+
131
+ assert_equal 6, @as_instance.access_mask
132
+ end
133
+
134
+ test "set out order" do
135
+ @as_instance.access = :editor, :moderator, :support
136
+
137
+ assert_equal 7, @as_instance.access_mask
138
+ end
139
+
140
+ test "has_roles? without any roles" do
141
+ assert_equal false, @instance.has_roles?(:read)
142
+ end
143
+
144
+ test "has_roles? with one role" do
145
+ @instance.roles = :read
146
+
147
+ assert_equal true, @instance.has_roles?(:read)
148
+ end
149
+
150
+ test "has_roles? with multiple role" do
151
+ @instance.roles = :read, :write
152
+
153
+ assert_equal true, @instance.has_roles?(:read, :write)
154
+ end
155
+
156
+ test "has_access? without any roles" do
157
+ assert_equal false, @as_instance.has_access?(:support)
158
+ end
159
+
160
+ test "has_access? with one role" do
161
+ @as_instance.access = :editor
162
+
163
+ assert_equal true, @as_instance.has_access?(:editor)
164
+ end
165
+
166
+ test "has_access? with multiple role" do
167
+ @as_instance.access = :moderator, :support
168
+
169
+ assert_equal true, @as_instance.has_access?(:moderator, :support)
170
+ end
171
+
172
+ test "named scope" do
173
+ @klass.create roles: :read
174
+ @klass.create roles: :write
175
+
176
+ assert_equal [1, 1], [
177
+ @klass.with_roles(:read).count,
178
+ @klass.with_roles(:write).count
179
+ ]
180
+ end
181
+
182
+ test "named scope with :as option" do
183
+ @as_klass.create access: :moderator
184
+ @as_klass.create access: [:support, :editor]
185
+
186
+ assert_equal [1, 1, 1], [
187
+ @as_klass.with_access(:moderator).count,
188
+ @as_klass.with_access(:editor).count,
189
+ @as_klass.with_access(:support).count,
190
+ ]
191
+ end
192
+
193
+ test "User is added to registry" do
194
+ assert_includes SimonSays::Roleable.registry, :user
195
+ end
196
+
197
+ test "Admin is added to registry" do
198
+ assert_includes SimonSays::Roleable.registry, :admin
199
+ end
200
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class TestSimonSays < ActiveSupport::TestCase
4
+ test "has version number" do
5
+ refute_nil SimonSays::VERSION
6
+ end
7
+ end
@@ -0,0 +1,48 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'simon_says' # HELLO SIMON
3
+
4
+ # Load test/rails_app
5
+ ENV["RAILS_ENV"] = "test"
6
+
7
+ require File.expand_path("../rails_app/config/environment.rb", __FILE__)
8
+ require "rails/test_help"
9
+
10
+ Rails.backtrace_cleaner.remove_silencers!
11
+
12
+ # Load support files
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
+
15
+ # Load fixtures from the engine
16
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../rails_app/test/fixtures", __FILE__)
17
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
18
+
19
+ # Make ActiveRecord happy
20
+ ActiveRecord::Base.logger = Logger.new(nil)
21
+ ActiveRecord::Migration.verbose = false
22
+
23
+ ActiveRecord::Base.establish_connection(Rails.application.config.database_configuration[ENV['RAILS_ENV']])
24
+ ActiveRecord::Migrator.migrate(File.expand_path("../rails_app/db/migrate/", __FILE__))
25
+
26
+ class ActiveSupport::TestCase
27
+ include ActiveRecord::TestFixtures
28
+
29
+ fixtures :users, :admins, :documents, :'admin/reports'
30
+
31
+ def create_test_table(name, &block)
32
+ with_migration { |m| m.create_table name, &block }
33
+ end
34
+
35
+ def drop_test_table(name, opts = {})
36
+ with_migration { |m| m.drop_table name, opts }
37
+ end
38
+
39
+ protected
40
+
41
+ def with_migration
42
+ ActiveRecord::Migration.tap do |m|
43
+ m.verbose = false
44
+ yield m
45
+ m.verbose = true
46
+ end
47
+ end
48
+ end
metadata ADDED
@@ -0,0 +1,312 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simon_says
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Michael Coyne
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: responders
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: mocha
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.1'
97
+ description: This gem is a simple, easy-to-use declarative role-based access control
98
+ system for Rails
99
+ email:
100
+ - mikeycgto@gmail.com
101
+ executables: []
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - ".gitignore"
106
+ - ".gitpublish"
107
+ - ".travis.yml"
108
+ - Gemfile
109
+ - Guardfile
110
+ - LICENSE.txt
111
+ - README.md
112
+ - ROADMAP.md
113
+ - Rakefile
114
+ - SimonSays.png
115
+ - lib/simon_says.rb
116
+ - lib/simon_says/authorizer.rb
117
+ - lib/simon_says/roleable.rb
118
+ - lib/simon_says/version.rb
119
+ - simon_says.gemspec
120
+ - test/controllers/admin/reports_controller_test.rb
121
+ - test/controllers/documents_controller_test.rb
122
+ - test/models/admin_test.rb
123
+ - test/models/membership_test.rb
124
+ - test/rails_app/.gitignore
125
+ - test/rails_app/README.rdoc
126
+ - test/rails_app/Rakefile
127
+ - test/rails_app/app/assets/images/.keep
128
+ - test/rails_app/app/assets/javascripts/application.js
129
+ - test/rails_app/app/assets/stylesheets/application.css
130
+ - test/rails_app/app/controllers/admin/reports_controller.rb
131
+ - test/rails_app/app/controllers/application_controller.rb
132
+ - test/rails_app/app/controllers/concerns/.keep
133
+ - test/rails_app/app/controllers/documents_controller.rb
134
+ - test/rails_app/app/helpers/application_helper.rb
135
+ - test/rails_app/app/mailers/.keep
136
+ - test/rails_app/app/models/.keep
137
+ - test/rails_app/app/models/admin.rb
138
+ - test/rails_app/app/models/admin/report.rb
139
+ - test/rails_app/app/models/concerns/.keep
140
+ - test/rails_app/app/models/document.rb
141
+ - test/rails_app/app/models/membership.rb
142
+ - test/rails_app/app/models/user.rb
143
+ - test/rails_app/app/views/layouts/application.html.erb
144
+ - test/rails_app/bin/bundle
145
+ - test/rails_app/bin/rails
146
+ - test/rails_app/bin/rake
147
+ - test/rails_app/bin/spring
148
+ - test/rails_app/config.ru
149
+ - test/rails_app/config/application.rb
150
+ - test/rails_app/config/boot.rb
151
+ - test/rails_app/config/database.yml
152
+ - test/rails_app/config/environment.rb
153
+ - test/rails_app/config/environments/development.rb
154
+ - test/rails_app/config/environments/production.rb
155
+ - test/rails_app/config/environments/test.rb
156
+ - test/rails_app/config/initializers/assets.rb
157
+ - test/rails_app/config/initializers/backtrace_silencers.rb
158
+ - test/rails_app/config/initializers/cookies_serializer.rb
159
+ - test/rails_app/config/initializers/filter_parameter_logging.rb
160
+ - test/rails_app/config/initializers/inflections.rb
161
+ - test/rails_app/config/initializers/mime_types.rb
162
+ - test/rails_app/config/initializers/session_store.rb
163
+ - test/rails_app/config/initializers/wrap_parameters.rb
164
+ - test/rails_app/config/locales/en.yml
165
+ - test/rails_app/config/routes.rb
166
+ - test/rails_app/config/secrets.yml
167
+ - test/rails_app/db/migrate/20141016142638_create_admins.rb
168
+ - test/rails_app/db/migrate/20141016183619_create_users.rb
169
+ - test/rails_app/db/migrate/20141016183633_create_memberships.rb
170
+ - test/rails_app/db/migrate/20141016183642_create_documents.rb
171
+ - test/rails_app/db/migrate/20141017140833_create_admin_reports.rb
172
+ - test/rails_app/db/schema.rb
173
+ - test/rails_app/db/seeds.rb
174
+ - test/rails_app/lib/assets/.keep
175
+ - test/rails_app/lib/tasks/.keep
176
+ - test/rails_app/log/.keep
177
+ - test/rails_app/public/404.html
178
+ - test/rails_app/public/422.html
179
+ - test/rails_app/public/500.html
180
+ - test/rails_app/public/favicon.ico
181
+ - test/rails_app/public/robots.txt
182
+ - test/rails_app/test/controllers/.keep
183
+ - test/rails_app/test/fixtures/.keep
184
+ - test/rails_app/test/fixtures/admin/reports.yml
185
+ - test/rails_app/test/fixtures/admins.yml
186
+ - test/rails_app/test/fixtures/documents.yml
187
+ - test/rails_app/test/fixtures/memberships.yml
188
+ - test/rails_app/test/fixtures/users.yml
189
+ - test/rails_app/test/helpers/.keep
190
+ - test/rails_app/test/integration/.keep
191
+ - test/rails_app/test/mailers/.keep
192
+ - test/rails_app/test/models/.keep
193
+ - test/rails_app/test/models/admin/report_test.rb
194
+ - test/rails_app/test/models/document_test.rb
195
+ - test/rails_app/test/models/membership_test.rb
196
+ - test/rails_app/test/models/user_test.rb
197
+ - test/rails_app/test/test_helper.rb
198
+ - test/rails_app/vendor/assets/javascripts/.keep
199
+ - test/rails_app/vendor/assets/stylesheets/.keep
200
+ - test/simon_says/authorizer_test.rb
201
+ - test/simon_says/roleable_test.rb
202
+ - test/simon_says_test.rb
203
+ - test/test_helper.rb
204
+ homepage: https://github.com/SimplyBuilt/SimonSays
205
+ licenses:
206
+ - MIT
207
+ metadata: {}
208
+ post_install_message:
209
+ rdoc_options: []
210
+ require_paths:
211
+ - lib
212
+ required_ruby_version: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ required_rubygems_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ requirements: []
223
+ rubyforge_project:
224
+ rubygems_version: 2.4.2
225
+ signing_key:
226
+ specification_version: 4
227
+ summary: Light-weight, declarative authorization and access control for Rails
228
+ test_files:
229
+ - test/controllers/admin/reports_controller_test.rb
230
+ - test/controllers/documents_controller_test.rb
231
+ - test/models/admin_test.rb
232
+ - test/models/membership_test.rb
233
+ - test/rails_app/.gitignore
234
+ - test/rails_app/README.rdoc
235
+ - test/rails_app/Rakefile
236
+ - test/rails_app/app/assets/images/.keep
237
+ - test/rails_app/app/assets/javascripts/application.js
238
+ - test/rails_app/app/assets/stylesheets/application.css
239
+ - test/rails_app/app/controllers/admin/reports_controller.rb
240
+ - test/rails_app/app/controllers/application_controller.rb
241
+ - test/rails_app/app/controllers/concerns/.keep
242
+ - test/rails_app/app/controllers/documents_controller.rb
243
+ - test/rails_app/app/helpers/application_helper.rb
244
+ - test/rails_app/app/mailers/.keep
245
+ - test/rails_app/app/models/.keep
246
+ - test/rails_app/app/models/admin.rb
247
+ - test/rails_app/app/models/admin/report.rb
248
+ - test/rails_app/app/models/concerns/.keep
249
+ - test/rails_app/app/models/document.rb
250
+ - test/rails_app/app/models/membership.rb
251
+ - test/rails_app/app/models/user.rb
252
+ - test/rails_app/app/views/layouts/application.html.erb
253
+ - test/rails_app/bin/bundle
254
+ - test/rails_app/bin/rails
255
+ - test/rails_app/bin/rake
256
+ - test/rails_app/bin/spring
257
+ - test/rails_app/config.ru
258
+ - test/rails_app/config/application.rb
259
+ - test/rails_app/config/boot.rb
260
+ - test/rails_app/config/database.yml
261
+ - test/rails_app/config/environment.rb
262
+ - test/rails_app/config/environments/development.rb
263
+ - test/rails_app/config/environments/production.rb
264
+ - test/rails_app/config/environments/test.rb
265
+ - test/rails_app/config/initializers/assets.rb
266
+ - test/rails_app/config/initializers/backtrace_silencers.rb
267
+ - test/rails_app/config/initializers/cookies_serializer.rb
268
+ - test/rails_app/config/initializers/filter_parameter_logging.rb
269
+ - test/rails_app/config/initializers/inflections.rb
270
+ - test/rails_app/config/initializers/mime_types.rb
271
+ - test/rails_app/config/initializers/session_store.rb
272
+ - test/rails_app/config/initializers/wrap_parameters.rb
273
+ - test/rails_app/config/locales/en.yml
274
+ - test/rails_app/config/routes.rb
275
+ - test/rails_app/config/secrets.yml
276
+ - test/rails_app/db/migrate/20141016142638_create_admins.rb
277
+ - test/rails_app/db/migrate/20141016183619_create_users.rb
278
+ - test/rails_app/db/migrate/20141016183633_create_memberships.rb
279
+ - test/rails_app/db/migrate/20141016183642_create_documents.rb
280
+ - test/rails_app/db/migrate/20141017140833_create_admin_reports.rb
281
+ - test/rails_app/db/schema.rb
282
+ - test/rails_app/db/seeds.rb
283
+ - test/rails_app/lib/assets/.keep
284
+ - test/rails_app/lib/tasks/.keep
285
+ - test/rails_app/log/.keep
286
+ - test/rails_app/public/404.html
287
+ - test/rails_app/public/422.html
288
+ - test/rails_app/public/500.html
289
+ - test/rails_app/public/favicon.ico
290
+ - test/rails_app/public/robots.txt
291
+ - test/rails_app/test/controllers/.keep
292
+ - test/rails_app/test/fixtures/.keep
293
+ - test/rails_app/test/fixtures/admin/reports.yml
294
+ - test/rails_app/test/fixtures/admins.yml
295
+ - test/rails_app/test/fixtures/documents.yml
296
+ - test/rails_app/test/fixtures/memberships.yml
297
+ - test/rails_app/test/fixtures/users.yml
298
+ - test/rails_app/test/helpers/.keep
299
+ - test/rails_app/test/integration/.keep
300
+ - test/rails_app/test/mailers/.keep
301
+ - test/rails_app/test/models/.keep
302
+ - test/rails_app/test/models/admin/report_test.rb
303
+ - test/rails_app/test/models/document_test.rb
304
+ - test/rails_app/test/models/membership_test.rb
305
+ - test/rails_app/test/models/user_test.rb
306
+ - test/rails_app/test/test_helper.rb
307
+ - test/rails_app/vendor/assets/javascripts/.keep
308
+ - test/rails_app/vendor/assets/stylesheets/.keep
309
+ - test/simon_says/authorizer_test.rb
310
+ - test/simon_says/roleable_test.rb
311
+ - test/simon_says_test.rb
312
+ - test/test_helper.rb