simon_says 0.0.3

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