authist 0.0.1

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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +32 -0
  4. data/lib/authist.rb +16 -0
  5. data/lib/authist/authism.rb +14 -0
  6. data/lib/authist/controller_helpers.rb +31 -0
  7. data/lib/authist/models.rb +6 -0
  8. data/lib/authist/models/role.rb +25 -0
  9. data/lib/authist/models/role_subscription.rb +8 -0
  10. data/lib/authist/version.rb +3 -0
  11. data/lib/generators/active_record/access_type_generator.rb +15 -0
  12. data/lib/generators/active_record/authist_generator.rb +21 -0
  13. data/lib/generators/active_record/install_generator.rb +17 -0
  14. data/lib/generators/active_record/templates/access_type_migration.rb +7 -0
  15. data/lib/generators/authist/access_type_generator.rb +11 -0
  16. data/lib/generators/authist/authist_generator.rb +11 -0
  17. data/lib/generators/authist/install_generator.rb +15 -0
  18. data/lib/generators/templates/authist.rb +4 -0
  19. data/lib/generators/templates/core_migration.rb +17 -0
  20. data/test/dummy/README.rdoc +28 -0
  21. data/test/dummy/Rakefile +6 -0
  22. data/test/dummy/app/assets/javascripts/application.js +13 -0
  23. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  24. data/test/dummy/app/controllers/application_controller.rb +5 -0
  25. data/test/dummy/app/helpers/application_helper.rb +2 -0
  26. data/test/dummy/app/models/user.rb +3 -0
  27. data/test/dummy/app/models/user_group.rb +3 -0
  28. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  29. data/test/dummy/bin/bundle +3 -0
  30. data/test/dummy/bin/rails +4 -0
  31. data/test/dummy/bin/rake +4 -0
  32. data/test/dummy/config.ru +4 -0
  33. data/test/dummy/config/application.rb +23 -0
  34. data/test/dummy/config/boot.rb +5 -0
  35. data/test/dummy/config/database.yml +25 -0
  36. data/test/dummy/config/environment.rb +5 -0
  37. data/test/dummy/config/environments/development.rb +29 -0
  38. data/test/dummy/config/environments/production.rb +80 -0
  39. data/test/dummy/config/environments/test.rb +36 -0
  40. data/test/dummy/config/initializers/authist.rb +4 -0
  41. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  42. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  43. data/test/dummy/config/initializers/inflections.rb +16 -0
  44. data/test/dummy/config/initializers/mime_types.rb +5 -0
  45. data/test/dummy/config/initializers/secret_token.rb +12 -0
  46. data/test/dummy/config/initializers/session_store.rb +3 -0
  47. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/test/dummy/config/locales/en.yml +23 -0
  49. data/test/dummy/config/routes.rb +56 -0
  50. data/test/dummy/db/development.sqlite3 +0 -0
  51. data/test/dummy/db/migrate/20140315092237_create_users.rb +7 -0
  52. data/test/dummy/db/migrate/20141021153614_create_authistic_behaviour.rb +17 -0
  53. data/test/dummy/db/migrate/20141021160014_add_access_type_shoe_lacing.rb +7 -0
  54. data/test/dummy/db/migrate/20141021200700_create_user_groups.rb +9 -0
  55. data/test/dummy/db/schema.rb +42 -0
  56. data/test/dummy/db/test.sqlite3 +0 -0
  57. data/test/dummy/log/development.log +420 -0
  58. data/test/dummy/log/test.log +10 -0
  59. data/test/dummy/public/404.html +58 -0
  60. data/test/dummy/public/422.html +58 -0
  61. data/test/dummy/public/500.html +57 -0
  62. data/test/dummy/public/favicon.ico +0 -0
  63. data/test/test_helper.rb +15 -0
  64. metadata +201 -0
@@ -0,0 +1,10 @@
1
+  (1.9ms) begin transaction
2
+ -----------------------
3
+ AuthistTest: test_truth
4
+ -----------------------
5
+  (0.1ms) rollback transaction
6
+  (0.1ms) begin transaction
7
+ -----------------------
8
+ AuthistTest: test_truth
9
+ -----------------------
10
+  (0.0ms) rollback transaction
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/404.html -->
52
+ <div class="dialog">
53
+ <h1>The page you were looking for doesn't exist.</h1>
54
+ <p>You may have mistyped the address or the page may have moved.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,201 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: authist
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ruben 'angryzor' Tytgat
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
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: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
55
+ description: |
56
+ Authist is a Ruby on Rails plugin that provides a simple way to add role-based authorization to your application.
57
+ It can easily be plugged into any user or group models in your application, and allows you to define a set of access types that roles can provide.
58
+ Roles and users' participation in them can be changed at runtime, providing a highly customizable access control system to your
59
+ website administrators.
60
+
61
+ Authist is designed with a minimal impact on your own code architecture in mind. It creates a few database tables for itself, but does not change anything
62
+ whatsoever to the data of your own models, and only adds a minimal mixin to the model itself.
63
+ This allows it to peacefully integrate with most authentication libraries. Authist can also be used in combination with more
64
+ advanced authorization gems like Pundit to add runtime-editable access roles to their policies.
65
+ email:
66
+ - ruben_tytgat@hotmail.com
67
+ executables: []
68
+ extensions: []
69
+ extra_rdoc_files: []
70
+ files:
71
+ - MIT-LICENSE
72
+ - Rakefile
73
+ - lib/authist.rb
74
+ - lib/authist/authism.rb
75
+ - lib/authist/controller_helpers.rb
76
+ - lib/authist/models.rb
77
+ - lib/authist/models/role.rb
78
+ - lib/authist/models/role_subscription.rb
79
+ - lib/authist/version.rb
80
+ - lib/generators/active_record/access_type_generator.rb
81
+ - lib/generators/active_record/authist_generator.rb
82
+ - lib/generators/active_record/install_generator.rb
83
+ - lib/generators/active_record/templates/access_type_migration.rb
84
+ - lib/generators/authist/access_type_generator.rb
85
+ - lib/generators/authist/authist_generator.rb
86
+ - lib/generators/authist/install_generator.rb
87
+ - lib/generators/templates/authist.rb
88
+ - lib/generators/templates/core_migration.rb
89
+ - test/dummy/README.rdoc
90
+ - test/dummy/Rakefile
91
+ - test/dummy/app/assets/javascripts/application.js
92
+ - test/dummy/app/assets/stylesheets/application.css
93
+ - test/dummy/app/controllers/application_controller.rb
94
+ - test/dummy/app/helpers/application_helper.rb
95
+ - test/dummy/app/models/user.rb
96
+ - test/dummy/app/models/user_group.rb
97
+ - test/dummy/app/views/layouts/application.html.erb
98
+ - test/dummy/bin/bundle
99
+ - test/dummy/bin/rails
100
+ - test/dummy/bin/rake
101
+ - test/dummy/config.ru
102
+ - test/dummy/config/application.rb
103
+ - test/dummy/config/boot.rb
104
+ - test/dummy/config/database.yml
105
+ - test/dummy/config/environment.rb
106
+ - test/dummy/config/environments/development.rb
107
+ - test/dummy/config/environments/production.rb
108
+ - test/dummy/config/environments/test.rb
109
+ - test/dummy/config/initializers/authist.rb
110
+ - test/dummy/config/initializers/backtrace_silencers.rb
111
+ - test/dummy/config/initializers/filter_parameter_logging.rb
112
+ - test/dummy/config/initializers/inflections.rb
113
+ - test/dummy/config/initializers/mime_types.rb
114
+ - test/dummy/config/initializers/secret_token.rb
115
+ - test/dummy/config/initializers/session_store.rb
116
+ - test/dummy/config/initializers/wrap_parameters.rb
117
+ - test/dummy/config/locales/en.yml
118
+ - test/dummy/config/routes.rb
119
+ - test/dummy/db/development.sqlite3
120
+ - test/dummy/db/migrate/20140315092237_create_users.rb
121
+ - test/dummy/db/migrate/20141021153614_create_authistic_behaviour.rb
122
+ - test/dummy/db/migrate/20141021160014_add_access_type_shoe_lacing.rb
123
+ - test/dummy/db/migrate/20141021200700_create_user_groups.rb
124
+ - test/dummy/db/schema.rb
125
+ - test/dummy/db/test.sqlite3
126
+ - test/dummy/log/development.log
127
+ - test/dummy/log/test.log
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/test_helper.rb
133
+ homepage: http://github.com/angryzor
134
+ licenses:
135
+ - MIT
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubyforge_project:
153
+ rubygems_version: 2.2.2
154
+ signing_key:
155
+ specification_version: 4
156
+ summary: A Rails plugin for simple and unintrusive controller-level authorization.
157
+ test_files:
158
+ - test/dummy/app/assets/javascripts/application.js
159
+ - test/dummy/app/assets/stylesheets/application.css
160
+ - test/dummy/app/controllers/application_controller.rb
161
+ - test/dummy/app/helpers/application_helper.rb
162
+ - test/dummy/app/models/user.rb
163
+ - test/dummy/app/models/user_group.rb
164
+ - test/dummy/app/views/layouts/application.html.erb
165
+ - test/dummy/bin/bundle
166
+ - test/dummy/bin/rails
167
+ - test/dummy/bin/rake
168
+ - test/dummy/config/application.rb
169
+ - test/dummy/config/boot.rb
170
+ - test/dummy/config/database.yml
171
+ - test/dummy/config/environment.rb
172
+ - test/dummy/config/environments/development.rb
173
+ - test/dummy/config/environments/production.rb
174
+ - test/dummy/config/environments/test.rb
175
+ - test/dummy/config/initializers/authist.rb
176
+ - test/dummy/config/initializers/backtrace_silencers.rb
177
+ - test/dummy/config/initializers/filter_parameter_logging.rb
178
+ - test/dummy/config/initializers/inflections.rb
179
+ - test/dummy/config/initializers/mime_types.rb
180
+ - test/dummy/config/initializers/secret_token.rb
181
+ - test/dummy/config/initializers/session_store.rb
182
+ - test/dummy/config/initializers/wrap_parameters.rb
183
+ - test/dummy/config/locales/en.yml
184
+ - test/dummy/config/routes.rb
185
+ - test/dummy/config.ru
186
+ - test/dummy/db/development.sqlite3
187
+ - test/dummy/db/migrate/20140315092237_create_users.rb
188
+ - test/dummy/db/migrate/20141021153614_create_authistic_behaviour.rb
189
+ - test/dummy/db/migrate/20141021160014_add_access_type_shoe_lacing.rb
190
+ - test/dummy/db/migrate/20141021200700_create_user_groups.rb
191
+ - test/dummy/db/schema.rb
192
+ - test/dummy/db/test.sqlite3
193
+ - test/dummy/log/development.log
194
+ - test/dummy/log/test.log
195
+ - test/dummy/public/404.html
196
+ - test/dummy/public/422.html
197
+ - test/dummy/public/500.html
198
+ - test/dummy/public/favicon.ico
199
+ - test/dummy/Rakefile
200
+ - test/dummy/README.rdoc
201
+ - test/test_helper.rb