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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +32 -0
- data/lib/authist.rb +16 -0
- data/lib/authist/authism.rb +14 -0
- data/lib/authist/controller_helpers.rb +31 -0
- data/lib/authist/models.rb +6 -0
- data/lib/authist/models/role.rb +25 -0
- data/lib/authist/models/role_subscription.rb +8 -0
- data/lib/authist/version.rb +3 -0
- data/lib/generators/active_record/access_type_generator.rb +15 -0
- data/lib/generators/active_record/authist_generator.rb +21 -0
- data/lib/generators/active_record/install_generator.rb +17 -0
- data/lib/generators/active_record/templates/access_type_migration.rb +7 -0
- data/lib/generators/authist/access_type_generator.rb +11 -0
- data/lib/generators/authist/authist_generator.rb +11 -0
- data/lib/generators/authist/install_generator.rb +15 -0
- data/lib/generators/templates/authist.rb +4 -0
- data/lib/generators/templates/core_migration.rb +17 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/user.rb +3 -0
- data/test/dummy/app/models/user_group.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +29 -0
- data/test/dummy/config/environments/production.rb +80 -0
- data/test/dummy/config/environments/test.rb +36 -0
- data/test/dummy/config/initializers/authist.rb +4 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +12 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +56 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20140315092237_create_users.rb +7 -0
- data/test/dummy/db/migrate/20141021153614_create_authistic_behaviour.rb +17 -0
- data/test/dummy/db/migrate/20141021160014_add_access_type_shoe_lacing.rb +7 -0
- data/test/dummy/db/migrate/20141021200700_create_user_groups.rb +9 -0
- data/test/dummy/db/schema.rb +42 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +420 -0
- data/test/dummy/log/test.log +10 -0
- data/test/dummy/public/404.html +58 -0
- data/test/dummy/public/422.html +58 -0
- data/test/dummy/public/500.html +57 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/test_helper.rb +15 -0
- metadata +201 -0
@@ -0,0 +1,10 @@
|
|
1
|
+
[1m[36m (1.9ms)[0m [1mbegin transaction[0m
|
2
|
+
-----------------------
|
3
|
+
AuthistTest: test_truth
|
4
|
+
-----------------------
|
5
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
6
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
7
|
+
-----------------------
|
8
|
+
AuthistTest: test_truth
|
9
|
+
-----------------------
|
10
|
+
[1m[35m (0.0ms)[0m 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
|
data/test/test_helper.rb
ADDED
@@ -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
|