janus 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.rdoc +18 -0
- data/VERSION +1 -1
- data/lib/generators/templates/confirmations_controller.erb +12 -0
- data/lib/generators/templates/janus.rb +5 -1
- data/lib/generators/templates/passwords_controller.erb +12 -0
- data/lib/generators/templates/registrations_controller.erb +8 -0
- data/lib/generators/templates/sessions_controller.erb +4 -0
- data/lib/janus/controllers/confirmations_controller.rb +23 -5
- data/lib/janus/controllers/passwords_controller.rb +15 -6
- data/lib/janus/controllers/registrations_controller.rb +14 -2
- data/lib/janus/manager.rb +8 -4
- data/test/rails_app/config/initializers/janus.rb +9 -1
- data/test/rails_app/config/initializers/secret_token.rb +7 -8
- data/test/rails_app/config/initializers/session_store.rb +0 -7
- data/test/rails_app/config/secrets.yml +12 -0
- metadata +23 -21
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fea9943c78cce6d222a79c9038f4cfed503eb2f2
|
4
|
+
data.tar.gz: 7a40e9798588323ba8318b845395a4384d77f59d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a13b710c833af906688fc9bc8dce633c9cc4d54f7c31563fdf25d8828ece45c490b8fe550f84c0f0e4f21bc42c8570fa211a5112f7db13eb97c8ea18bd4e661a
|
7
|
+
data.tar.gz: 8aecfa6247cc1acc5e8ad016106ef596b6e6676458be3d3f95bf883775f120a0dc0bc1e70cb5946113aa0b15c6eb347dc8019d23a467fa254829a173fd7747a8
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.rdoc
CHANGED
@@ -47,6 +47,24 @@ Run the <tt>janus:install</tt> generator to setup janus in your app:
|
|
47
47
|
|
48
48
|
$ rails generate janus:install
|
49
49
|
|
50
|
+
If you are running Rails 4.1+ you must add a `secret_pepper` to your
|
51
|
+
`config/secrets.yml` file after generating a secure token with `rake secret`:
|
52
|
+
|
53
|
+
# config/secrets.yml
|
54
|
+
development:
|
55
|
+
secret_key_base: "..."
|
56
|
+
secret_pepper: "..."
|
57
|
+
test:
|
58
|
+
secret_key_base: "..."
|
59
|
+
secret_pepper: "..."
|
60
|
+
production:
|
61
|
+
secret_key_base: ENV["SECRET_KEY_BASE"]
|
62
|
+
secret_pepper: ENV["SECRET_PEPPER"]
|
63
|
+
|
64
|
+
If you are running a previous version of Rails, then you should edit
|
65
|
+
`config/initializers/janus.rb` to use an environment variable instead of the
|
66
|
+
generated token.
|
67
|
+
|
50
68
|
Then create your first authenticatable resource, let's say +User+:
|
51
69
|
|
52
70
|
$ rails generate janus:resource user
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.9.0
|
@@ -1,3 +1,15 @@
|
|
1
1
|
class <%= class_name.pluralize %>::ConfirmationsController < Janus::ConfirmationsController
|
2
2
|
respond_to :html
|
3
|
+
|
4
|
+
# def deliver_confirmation_instructions(<%= singular_name %>)
|
5
|
+
# <%= class_name %>Mailer.confirmation_instructions(<%= singular_name %>).deliver
|
6
|
+
# end
|
7
|
+
|
8
|
+
# def after_resending_confirmation_instructions_url(<%= singular_name %>)
|
9
|
+
# root_url
|
10
|
+
# end
|
11
|
+
|
12
|
+
# def after_confirmation_url(<%= singular_name %>)
|
13
|
+
# root_url
|
14
|
+
# end
|
3
15
|
end
|
@@ -7,7 +7,11 @@ Janus.config do |config|
|
|
7
7
|
# bcrypt:
|
8
8
|
config.encryptor = :bcrypt
|
9
9
|
config.stretches = Rails.env.test? ? 1 : 10
|
10
|
-
config.pepper = <%=
|
10
|
+
config.pepper = <%= if Rails.application.respond_to?(:secrets)
|
11
|
+
"Rails.application.secrets[:secret_pepper]"
|
12
|
+
else
|
13
|
+
SecureRandom.hex(64).inspect
|
14
|
+
end %>
|
11
15
|
|
12
16
|
# scrypt:
|
13
17
|
# config.encryptor = :scrypt
|
@@ -1,3 +1,15 @@
|
|
1
1
|
class <%= class_name.pluralize %>::PasswordsController < Janus::PasswordsController
|
2
2
|
respond_to :html
|
3
|
+
|
4
|
+
# def deliver_reset_password_instructions(<%= singular_name %>)
|
5
|
+
# <%= class_name %>Mailer.reset_password_instructions(<%= singular_name %>).deliver
|
6
|
+
# end
|
7
|
+
|
8
|
+
# def after_password_change_url(<%= singular_name %>)
|
9
|
+
# root_url
|
10
|
+
# end
|
11
|
+
|
12
|
+
# def after_sending_reset_password_instructions_url(<%= singular_name %>)
|
13
|
+
# root_url
|
14
|
+
# end
|
3
15
|
end
|
@@ -1,10 +1,18 @@
|
|
1
1
|
class <%= class_name.pluralize %>::RegistrationsController < Janus::RegistrationsController
|
2
2
|
respond_to :html
|
3
3
|
|
4
|
+
# def deliver_confirmation_instructions(<%= singular_name %>)
|
5
|
+
# <%= class_name %>Mailer.confirmation_instructions(<%= singular_name %>).deliver
|
6
|
+
# end
|
7
|
+
|
4
8
|
# def after_sign_up_url(<%= singular_name %>)
|
5
9
|
# profile_url(<%= singular_name %>)
|
6
10
|
# end
|
7
11
|
|
12
|
+
# def after_destroy_url(<%= singular_name %>)
|
13
|
+
# root_url
|
14
|
+
# end
|
15
|
+
|
8
16
|
def <%= singular_name %>_params
|
9
17
|
if params.respond_to?(:permit)
|
10
18
|
# Rails 4 (or Rails 3 + strong_parameters)
|
@@ -5,6 +5,10 @@ class <%= class_name.pluralize %>::SessionsController < Janus::SessionsControlle
|
|
5
5
|
# profile_url(<%= singular_name %>)
|
6
6
|
# end
|
7
7
|
|
8
|
+
# def after_sign_out_url(<%= singular_name %>)
|
9
|
+
# profile_url(<%= singular_name %>)
|
10
|
+
# end
|
11
|
+
|
8
12
|
# def valid_remote_host?(host)
|
9
13
|
# ['www.example.com', 'test.host'].include?(host)
|
10
14
|
# end
|
@@ -12,8 +12,12 @@ class Janus::ConfirmationsController < ApplicationController
|
|
12
12
|
resource.confirm!
|
13
13
|
|
14
14
|
respond_to do |format|
|
15
|
-
format.html
|
16
|
-
|
15
|
+
format.html do
|
16
|
+
redirect_to after_confirmation_url(resource),
|
17
|
+
:notice => t('flash.janus.confirmations.edit.confirmed')
|
18
|
+
end
|
19
|
+
|
20
|
+
format.any { head :ok }
|
17
21
|
end
|
18
22
|
else
|
19
23
|
respond_to do |format|
|
@@ -37,10 +41,14 @@ class Janus::ConfirmationsController < ApplicationController
|
|
37
41
|
self.resource = resource_class.find_for_database_authentication(params[resource_name])
|
38
42
|
|
39
43
|
if resource
|
40
|
-
deliver_confirmation_instructions
|
44
|
+
deliver_confirmation_instructions(resource)
|
41
45
|
|
42
46
|
respond_to do |format|
|
43
|
-
format.html
|
47
|
+
format.html do
|
48
|
+
redirect_to after_resending_confirmation_instructions_url(resource),
|
49
|
+
:notice => t('flash.janus.confirmations.create.email_sent')
|
50
|
+
end
|
51
|
+
|
44
52
|
format.any { head :ok }
|
45
53
|
end
|
46
54
|
else
|
@@ -58,7 +66,17 @@ class Janus::ConfirmationsController < ApplicationController
|
|
58
66
|
|
59
67
|
# Simple wrapper for Mailer#confirmation_instructions.deliver to
|
60
68
|
# allow customization of the email (eg: to pass additional data).
|
61
|
-
def deliver_confirmation_instructions
|
69
|
+
def deliver_confirmation_instructions(resource)
|
62
70
|
mailer_class.confirmation_instructions(resource).deliver
|
63
71
|
end
|
72
|
+
|
73
|
+
# Where to redirect after the instructions have been sent.
|
74
|
+
def after_resending_confirmation_instructions_url(resource)
|
75
|
+
root_url
|
76
|
+
end
|
77
|
+
|
78
|
+
# Where to redirect when the user has confirmed her account.
|
79
|
+
def after_confirmation_url(resource)
|
80
|
+
root_url
|
81
|
+
end
|
64
82
|
end
|
@@ -15,10 +15,13 @@ class Janus::PasswordsController < ApplicationController
|
|
15
15
|
|
16
16
|
if resource
|
17
17
|
resource.generate_reset_password_token!
|
18
|
-
deliver_reset_password_instructions
|
18
|
+
deliver_reset_password_instructions(resource)
|
19
19
|
|
20
20
|
respond_to do |format|
|
21
|
-
format.html
|
21
|
+
format.html do
|
22
|
+
redirect_to after_sending_reset_password_instructions_url(resource),
|
23
|
+
:notice => t('flash.janus.passwords.create.email_sent')
|
24
|
+
end
|
22
25
|
format.any { head :ok }
|
23
26
|
end
|
24
27
|
else
|
@@ -63,21 +66,27 @@ class Janus::PasswordsController < ApplicationController
|
|
63
66
|
|
64
67
|
# Simple wrapper for Mailer#reset_password_instructions.deliver to
|
65
68
|
# allow customization of the email (eg: to pass additional data).
|
66
|
-
def deliver_reset_password_instructions
|
69
|
+
def deliver_reset_password_instructions(resource)
|
67
70
|
mailer_class.reset_password_instructions(resource).deliver
|
68
71
|
end
|
69
72
|
|
70
73
|
# Either redirects the user to after_password_change_url or to
|
71
74
|
# <tt>params[:return_to]</tt> if present.
|
72
|
-
def redirect_after_password_change(
|
75
|
+
def redirect_after_password_change(resource, options = {})
|
73
76
|
if params[:return_to].present?
|
74
77
|
redirect_to params[:return_to], options
|
75
78
|
else
|
76
|
-
redirect_to after_password_change_url(
|
79
|
+
redirect_to after_password_change_url(resource), options
|
77
80
|
end
|
78
81
|
end
|
79
82
|
|
80
|
-
|
83
|
+
# Where to redirect when the password has been changed.
|
84
|
+
def after_password_change_url(resource)
|
85
|
+
root_url
|
86
|
+
end
|
87
|
+
|
88
|
+
# Where to redirect when the instructions have been sent.
|
89
|
+
def after_sending_reset_password_instructions_url(resource)
|
81
90
|
root_url
|
82
91
|
end
|
83
92
|
end
|
@@ -21,7 +21,7 @@ class Janus::RegistrationsController < ApplicationController
|
|
21
21
|
|
22
22
|
if resource.save
|
23
23
|
janus.login(resource, :scope => janus_scope, :rememberable => true)
|
24
|
-
|
24
|
+
deliver_confirmation_instructions(resource) if resource.respond_to?(:confirm!)
|
25
25
|
else
|
26
26
|
resource.clean_up_passwords
|
27
27
|
end
|
@@ -41,14 +41,26 @@ class Janus::RegistrationsController < ApplicationController
|
|
41
41
|
janus.unset_user(janus_scope) if resource.destroy
|
42
42
|
|
43
43
|
respond_with(resource) do |format|
|
44
|
-
format.html { redirect_to
|
44
|
+
format.html { redirect_to after_destroy_url(resource) }
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
# Simple wrapper for Mailer#confirmation_instructions.deliver to
|
49
|
+
# allow customization of the email (eg: to pass additional data).
|
50
|
+
def deliver_confirmation_instructions(resource)
|
51
|
+
mailer_class.confirmation_instructions(resource).deliver
|
52
|
+
end
|
53
|
+
|
54
|
+
# Where to redirect after user has registered.
|
48
55
|
def after_sign_up_url(user)
|
49
56
|
user
|
50
57
|
end
|
51
58
|
|
59
|
+
# Where to redirect after user has unregistered.
|
60
|
+
def after_destroy_url(resource)
|
61
|
+
root_url
|
62
|
+
end
|
63
|
+
|
52
64
|
def resource_params
|
53
65
|
keys = %w{current_password password password_confirmation}
|
54
66
|
send("#{janus_scope}_params").reject do |key, value|
|
data/lib/janus/manager.rb
CHANGED
@@ -60,12 +60,12 @@ module Janus
|
|
60
60
|
# authenticate process.
|
61
61
|
def set_user(user, options = {})
|
62
62
|
scope = options[:scope] || Janus.scope_for(user)
|
63
|
-
janus_sessions[scope.
|
63
|
+
janus_sessions[scope.to_s] = { 'user_class' => user.class.name, 'user_id' => user.id }
|
64
64
|
end
|
65
65
|
|
66
66
|
# Manually removes the user without going throught the whole logout process.
|
67
67
|
def unset_user(scope)
|
68
|
-
janus_sessions.delete(scope.
|
68
|
+
janus_sessions.delete(scope.to_s)
|
69
69
|
@users.delete(scope.to_sym) unless @users.nil?
|
70
70
|
end
|
71
71
|
|
@@ -77,7 +77,7 @@ module Janus
|
|
77
77
|
if authenticated?(scope)
|
78
78
|
if @users[scope].nil?
|
79
79
|
begin
|
80
|
-
@users[scope] =
|
80
|
+
@users[scope] = user_class(scope).find(session(scope)['user_id'])
|
81
81
|
rescue ActiveRecord::RecordNotFound
|
82
82
|
unset_user(scope)
|
83
83
|
else
|
@@ -91,12 +91,16 @@ module Janus
|
|
91
91
|
|
92
92
|
# Returns the current session for user.
|
93
93
|
def session(scope)
|
94
|
-
janus_sessions[scope.
|
94
|
+
janus_sessions[scope.to_s]
|
95
95
|
end
|
96
96
|
|
97
97
|
private
|
98
98
|
def janus_sessions
|
99
99
|
request.session['janus'] ||= {}
|
100
100
|
end
|
101
|
+
|
102
|
+
def user_class(scope)
|
103
|
+
session(scope)['user_class'].constantize
|
104
|
+
end
|
101
105
|
end
|
102
106
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'janus'
|
2
|
+
|
1
3
|
Janus.config do |config|
|
2
4
|
config.contact_email = "contact@some-example-domain.com"
|
3
5
|
|
@@ -5,7 +7,13 @@ Janus.config do |config|
|
|
5
7
|
config.authentication_keys = [:email]
|
6
8
|
config.encryptor = :bcrypt
|
7
9
|
config.stretches = 10
|
8
|
-
|
10
|
+
|
11
|
+
if Rails.application.respond_to?(:secrets)
|
12
|
+
config.pepper = Rails.application.secrets[:secret_pepper]
|
13
|
+
else
|
14
|
+
config.pepper = "db5ef161873f4b4cd966ff042c448282e8243a0a4e090347370360796ecc769f384d898badda1881bc7ed4483f20f6809b39a54f6671cc35cda18bfe554cd8e0"
|
15
|
+
end
|
16
|
+
|
9
17
|
# config.scrypt_options = { :max_time => 0.25 }
|
10
18
|
|
11
19
|
# Confirmable
|
@@ -1,8 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
RailsApp::Application.config.secret_token = 'c6a67697877c66be70cdcc4680f37593045a721cf757de4110f9749877cb32f94fe4ddaa5e816af4555d91c4f6142a401972474d50fe620d41ede300d3143d4a'
|
1
|
+
if RailsApp::Application.config.respond_to?(:secret_key_base)
|
2
|
+
if Rails.version < '4.1.0'
|
3
|
+
RailsApp::Application.config.secret_key_base = 'c6a67697877c66be70cdcc4680f37593045a721cf757de4110f9749877cb32f94fe4ddaa5e816af4555d91c4f6142a401972474d50fe620d41ede300d3143d4a'
|
4
|
+
end
|
5
|
+
else
|
6
|
+
RailsApp::Application.config.secret_token = 'c6a67697877c66be70cdcc4680f37593045a721cf757de4110f9749877cb32f94fe4ddaa5e816af4555d91c4f6142a401972474d50fe620d41ede300d3143d4a'
|
7
|
+
end
|
@@ -1,8 +1 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
1
|
RailsApp::Application.config.session_store :cookie_store, :key => '_rails_app_session'
|
4
|
-
|
5
|
-
# Use the database for sessions instead of the cookie-based default,
|
6
|
-
# which shouldn't be used to store highly confidential information
|
7
|
-
# (create the session table with "rails generate session_migration")
|
8
|
-
# RailsApp::Application.config.session_store :active_record_store
|
@@ -0,0 +1,12 @@
|
|
1
|
+
development:
|
2
|
+
secret_key_base: 306a71f354ac073a1fc1383922098a3f5d406d56df8512e9bf159f4d1cec5bfb51b396a16a4d421c105a879f81caf35e6f49781d3bf0c06e9355d8eff111b7ff
|
3
|
+
secret_pepper: db5ef161873f4b4cd966ff042c448282e8243a0a4e090347370360796ecc769f384d898badda1881bc7ed4483f20f6809b39a54f6671cc35cda18bfe554cd8e0
|
4
|
+
|
5
|
+
test:
|
6
|
+
secret_key_base: 3229572c7449e158994a35b38fc5acf0ac8136245be074657394f913cc025284f7adee7ca75deaf637ae3e54c8c50d8cdfcd2ea1ef40c53afcd25e5c27fa11f7
|
7
|
+
secret_pepper: db5ef161873f4b4cd966ff042c448282e8243a0a4e090347370360796ecc769f384d898badda1881bc7ed4483f20f6809b39a54f6671cc35cda18bfe554cd8e0
|
8
|
+
|
9
|
+
production:
|
10
|
+
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
11
|
+
secret_pepper: <%= ENV["SECRET_PEPPER"] %>
|
12
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: janus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julien Portalier
|
@@ -30,104 +30,104 @@ cert_chain:
|
|
30
30
|
KVqCN//9bevjMk5OiMi9X3Wu/GtVWDwC6OTWFWKd54KgbuWlakO8LC1SMmStnCIF
|
31
31
|
W4qpyMWMZMcB4ZN/0mUVzY5xwrislBtsmQVUSw==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2014-
|
33
|
+
date: 2014-04-22 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: addressable
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
type: :runtime
|
43
43
|
prerelease: false
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: rails
|
51
51
|
requirement: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 3.0.0
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 3.0.0
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
64
|
name: sqlite3
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
78
|
name: bcrypt-ruby
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
type: :development
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: scrypt
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
type: :development
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: minitest
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- -
|
116
|
+
- - ">="
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '0'
|
119
119
|
- !ruby/object:Gem::Dependency
|
120
120
|
name: capybara
|
121
121
|
requirement: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- -
|
123
|
+
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
126
|
type: :development
|
127
127
|
prerelease: false
|
128
128
|
version_requirements: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- -
|
130
|
+
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
description: Authentication engine for Ruby on Rails
|
@@ -137,8 +137,8 @@ executables: []
|
|
137
137
|
extensions: []
|
138
138
|
extra_rdoc_files: []
|
139
139
|
files:
|
140
|
-
- .gitignore
|
141
|
-
- .travis.yml
|
140
|
+
- ".gitignore"
|
141
|
+
- ".travis.yml"
|
142
142
|
- LICENSE
|
143
143
|
- README.rdoc
|
144
144
|
- Rakefile
|
@@ -262,6 +262,7 @@ files:
|
|
262
262
|
- test/rails_app/config/initializers/session_store.rb
|
263
263
|
- test/rails_app/config/locales/janus.en.yml
|
264
264
|
- test/rails_app/config/routes.rb
|
265
|
+
- test/rails_app/config/secrets.yml
|
265
266
|
- test/rails_app/db/migrate/20110323153820_create_users.rb
|
266
267
|
- test/rails_app/db/migrate/20110331153546_create_remote_tokens.rb
|
267
268
|
- test/rails_app/db/migrate/20130412104138_create_admins.rb
|
@@ -292,17 +293,17 @@ require_paths:
|
|
292
293
|
- lib
|
293
294
|
required_ruby_version: !ruby/object:Gem::Requirement
|
294
295
|
requirements:
|
295
|
-
- -
|
296
|
+
- - ">="
|
296
297
|
- !ruby/object:Gem::Version
|
297
298
|
version: '0'
|
298
299
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
299
300
|
requirements:
|
300
|
-
- -
|
301
|
+
- - ">="
|
301
302
|
- !ruby/object:Gem::Version
|
302
303
|
version: '0'
|
303
304
|
requirements: []
|
304
305
|
rubyforge_project:
|
305
|
-
rubygems_version: 2.
|
306
|
+
rubygems_version: 2.2.2
|
306
307
|
signing_key:
|
307
308
|
specification_version: 4
|
308
309
|
summary: Authentication engine for Ruby on Rails
|
@@ -369,6 +370,7 @@ test_files:
|
|
369
370
|
- test/rails_app/config/initializers/session_store.rb
|
370
371
|
- test/rails_app/config/locales/janus.en.yml
|
371
372
|
- test/rails_app/config/routes.rb
|
373
|
+
- test/rails_app/config/secrets.yml
|
372
374
|
- test/rails_app/db/migrate/20110323153820_create_users.rb
|
373
375
|
- test/rails_app/db/migrate/20110331153546_create_remote_tokens.rb
|
374
376
|
- test/rails_app/db/migrate/20130412104138_create_admins.rb
|
metadata.gz.sig
CHANGED
Binary file
|