devise-authy 1.8.3 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +44 -0
  3. data/CHANGELOG.md +11 -0
  4. data/Gemfile +1 -12
  5. data/README.md +5 -3
  6. data/Rakefile +1 -14
  7. data/devise-authy.gemspec +34 -237
  8. data/lib/devise-authy.rb +1 -0
  9. data/lib/devise-authy/version.rb +5 -0
  10. data/lib/generators/active_record/devise_authy_generator.rb +11 -1
  11. data/lib/generators/active_record/templates/migration.rb +1 -1
  12. metadata +42 -195
  13. data/VERSION +0 -1
  14. data/authy-devise-demo/.gitignore +0 -15
  15. data/authy-devise-demo/Gemfile +0 -51
  16. data/authy-devise-demo/Gemfile.lock +0 -194
  17. data/authy-devise-demo/README.md +0 -64
  18. data/authy-devise-demo/Rakefile +0 -7
  19. data/authy-devise-demo/app/assets/images/rails.png +0 -0
  20. data/authy-devise-demo/app/assets/javascripts/application.js +0 -15
  21. data/authy-devise-demo/app/assets/javascripts/devise_authy.js +0 -12
  22. data/authy-devise-demo/app/assets/javascripts/welcome.js.coffee +0 -3
  23. data/authy-devise-demo/app/assets/stylesheets/application.css +0 -13
  24. data/authy-devise-demo/app/assets/stylesheets/devise_authy.css +0 -26
  25. data/authy-devise-demo/app/assets/stylesheets/welcome.css.scss +0 -3
  26. data/authy-devise-demo/app/controllers/application_controller.rb +0 -3
  27. data/authy-devise-demo/app/controllers/welcome_controller.rb +0 -15
  28. data/authy-devise-demo/app/helpers/application_helper.rb +0 -2
  29. data/authy-devise-demo/app/helpers/welcome_helper.rb +0 -2
  30. data/authy-devise-demo/app/mailers/.gitkeep +0 -0
  31. data/authy-devise-demo/app/models/.gitkeep +0 -0
  32. data/authy-devise-demo/app/models/admin.rb +0 -7
  33. data/authy-devise-demo/app/models/user.rb +0 -7
  34. data/authy-devise-demo/app/views/devise/devise_authy/enable_authy.html.erb +0 -7
  35. data/authy-devise-demo/app/views/devise/devise_authy/verify_authy.html.erb +0 -38
  36. data/authy-devise-demo/app/views/devise/devise_authy/verify_authy_installation.html.erb +0 -10
  37. data/authy-devise-demo/app/views/layouts/application.html.erb +0 -28
  38. data/authy-devise-demo/app/views/welcome/admin_page.html.erb +0 -12
  39. data/authy-devise-demo/app/views/welcome/index.html.erb +0 -5
  40. data/authy-devise-demo/app/views/welcome/user_page.html.erb +0 -5
  41. data/authy-devise-demo/config.ru +0 -4
  42. data/authy-devise-demo/config/application.rb +0 -26
  43. data/authy-devise-demo/config/boot.rb +0 -6
  44. data/authy-devise-demo/config/database.yml +0 -25
  45. data/authy-devise-demo/config/environment.rb +0 -5
  46. data/authy-devise-demo/config/environments/development.rb +0 -43
  47. data/authy-devise-demo/config/environments/production.rb +0 -79
  48. data/authy-devise-demo/config/environments/test.rb +0 -42
  49. data/authy-devise-demo/config/initializers/authy.rb +0 -1
  50. data/authy-devise-demo/config/initializers/backtrace_silencers.rb +0 -7
  51. data/authy-devise-demo/config/initializers/devise.rb +0 -240
  52. data/authy-devise-demo/config/initializers/inflections.rb +0 -15
  53. data/authy-devise-demo/config/initializers/mime_types.rb +0 -5
  54. data/authy-devise-demo/config/initializers/secret_token.rb +0 -7
  55. data/authy-devise-demo/config/initializers/session_store.rb +0 -8
  56. data/authy-devise-demo/config/initializers/wrap_parameters.rb +0 -14
  57. data/authy-devise-demo/config/locales/devise.authy.en.yml +0 -24
  58. data/authy-devise-demo/config/locales/devise.en.yml +0 -58
  59. data/authy-devise-demo/config/locales/en.yml +0 -5
  60. data/authy-devise-demo/config/routes.rb +0 -65
  61. data/authy-devise-demo/config/secrets.yml +0 -22
  62. data/authy-devise-demo/db/migrate/20130409234357_devise_create_users.rb +0 -46
  63. data/authy-devise-demo/db/migrate/20141202000744_devise_create_admins.rb +0 -46
  64. data/authy-devise-demo/db/migrate/20141202004246_devise_authy_add_to_admins.rb +0 -21
  65. data/authy-devise-demo/db/migrate/20160906221739_add_sessions_table.rb +0 -12
  66. data/authy-devise-demo/db/schema.rb +0 -72
  67. data/authy-devise-demo/db/seeds.rb +0 -7
  68. data/authy-devise-demo/lib/assets/.gitkeep +0 -0
  69. data/authy-devise-demo/lib/tasks/.gitkeep +0 -0
  70. data/authy-devise-demo/log/.gitkeep +0 -0
  71. data/authy-devise-demo/public/404.html +0 -26
  72. data/authy-devise-demo/public/422.html +0 -26
  73. data/authy-devise-demo/public/500.html +0 -25
  74. data/authy-devise-demo/public/favicon.ico +0 -0
  75. data/authy-devise-demo/public/robots.txt +0 -5
  76. data/authy-devise-demo/script/rails +0 -6
  77. data/authy-devise-demo/test/fixtures/.gitkeep +0 -0
  78. data/authy-devise-demo/test/fixtures/users.yml +0 -11
  79. data/authy-devise-demo/test/functional/.gitkeep +0 -0
  80. data/authy-devise-demo/test/functional/welcome_controller_test.rb +0 -9
  81. data/authy-devise-demo/test/integration/.gitkeep +0 -0
  82. data/authy-devise-demo/test/performance/browsing_test.rb +0 -12
  83. data/authy-devise-demo/test/test_helper.rb +0 -13
  84. data/authy-devise-demo/test/unit/.gitkeep +0 -0
  85. data/authy-devise-demo/test/unit/helpers/welcome_helper_test.rb +0 -4
  86. data/authy-devise-demo/test/unit/user_test.rb +0 -7
  87. data/authy-devise-demo/vendor/assets/javascripts/.gitkeep +0 -0
  88. data/authy-devise-demo/vendor/assets/stylesheets/.gitkeep +0 -0
  89. data/authy-devise-demo/vendor/plugins/.gitkeep +0 -0
  90. data/spec/controllers/devise_authy_controller_spec.rb +0 -360
  91. data/spec/controllers/passwords_controller_spec.rb +0 -48
  92. data/spec/features/authy_authenticatable_spec.rb +0 -108
  93. data/spec/features/authy_lockable_spec.rb +0 -70
  94. data/spec/generators_spec.rb +0 -32
  95. data/spec/models/authy_authenticatable_spec.rb +0 -17
  96. data/spec/models/authy_lockable_spec.rb +0 -81
  97. data/spec/orm/active_record.rb +0 -4
  98. data/spec/rails-app/Gemfile +0 -10
  99. data/spec/rails-app/Gemfile.lock +0 -141
  100. data/spec/rails-app/Rakefile +0 -7
  101. data/spec/rails-app/app/assets/images/rails.png +0 -0
  102. data/spec/rails-app/app/assets/javascripts/application.js +0 -15
  103. data/spec/rails-app/app/assets/javascripts/devise_authy.js +0 -12
  104. data/spec/rails-app/app/assets/javascripts/welcome.js +0 -2
  105. data/spec/rails-app/app/assets/stylesheets/application.css +0 -13
  106. data/spec/rails-app/app/assets/stylesheets/devise_authy.css +0 -26
  107. data/spec/rails-app/app/assets/stylesheets/welcome.css.scss +0 -3
  108. data/spec/rails-app/app/controllers/application_controller.rb +0 -3
  109. data/spec/rails-app/app/controllers/welcome_controller.rb +0 -13
  110. data/spec/rails-app/app/helpers/application_helper.rb +0 -2
  111. data/spec/rails-app/app/helpers/welcome_helper.rb +0 -2
  112. data/spec/rails-app/app/mailers/.gitkeep +0 -0
  113. data/spec/rails-app/app/models/.gitkeep +0 -0
  114. data/spec/rails-app/app/models/lockable_user.rb +0 -7
  115. data/spec/rails-app/app/models/user.rb +0 -8
  116. data/spec/rails-app/app/views/devise/devise_authy/enable_authy.html.erb +0 -7
  117. data/spec/rails-app/app/views/devise/devise_authy/verify_authy.html.erb +0 -37
  118. data/spec/rails-app/app/views/devise/devise_authy/verify_authy_installation.html.erb +0 -10
  119. data/spec/rails-app/app/views/layouts/application.html.erb +0 -28
  120. data/spec/rails-app/app/views/welcome/index.html.erb +0 -5
  121. data/spec/rails-app/config.ru +0 -4
  122. data/spec/rails-app/config/application.rb +0 -30
  123. data/spec/rails-app/config/boot.rb +0 -6
  124. data/spec/rails-app/config/database.yml +0 -25
  125. data/spec/rails-app/config/environment.rb +0 -5
  126. data/spec/rails-app/config/environments/development.rb +0 -43
  127. data/spec/rails-app/config/environments/production.rb +0 -79
  128. data/spec/rails-app/config/environments/test.rb +0 -44
  129. data/spec/rails-app/config/initializers/authy.rb +0 -2
  130. data/spec/rails-app/config/initializers/backtrace_silencers.rb +0 -7
  131. data/spec/rails-app/config/initializers/devise.rb +0 -256
  132. data/spec/rails-app/config/initializers/inflections.rb +0 -15
  133. data/spec/rails-app/config/initializers/mime_types.rb +0 -5
  134. data/spec/rails-app/config/initializers/secret_token.rb +0 -7
  135. data/spec/rails-app/config/initializers/session_store.rb +0 -8
  136. data/spec/rails-app/config/initializers/wrap_parameters.rb +0 -14
  137. data/spec/rails-app/config/locales/devise.authy.en.yml +0 -24
  138. data/spec/rails-app/config/locales/devise.en.yml +0 -59
  139. data/spec/rails-app/config/locales/en.yml +0 -5
  140. data/spec/rails-app/config/routes.rb +0 -8
  141. data/spec/rails-app/config/secrets.yml +0 -22
  142. data/spec/rails-app/db/development.sqlite3 +0 -0
  143. data/spec/rails-app/db/migrate/20130419164907_devise_create_users.rb +0 -46
  144. data/spec/rails-app/db/migrate/20130419164936_devise_authy_add_to_users.rb +0 -18
  145. data/spec/rails-app/db/schema.rb +0 -41
  146. data/spec/rails-app/db/seeds.rb +0 -7
  147. data/spec/rails-app/lib/assets/.gitkeep +0 -0
  148. data/spec/rails-app/lib/tasks/.gitkeep +0 -0
  149. data/spec/rails-app/public/404.html +0 -26
  150. data/spec/rails-app/public/422.html +0 -26
  151. data/spec/rails-app/public/500.html +0 -25
  152. data/spec/rails-app/public/favicon.ico +0 -0
  153. data/spec/rails-app/public/robots.txt +0 -5
  154. data/spec/rails-app/script/rails +0 -6
  155. data/spec/routing/routes_spec.rb +0 -35
  156. data/spec/spec_helper.rb +0 -46
  157. data/spec/support/helpers.rb +0 -80
@@ -1,48 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe DeviseAuthy::PasswordsController, type: :controller do
4
- include Devise::Test::ControllerHelpers
5
-
6
- before :each do
7
- request.env["devise.mapping"] = Devise.mappings[:user]
8
- end
9
-
10
- context "when the user has authy enabled" do
11
-
12
- describe "Reset password" do
13
- it "Should redirect to verify token view" do
14
- user = create_user(:authy_id => 1)
15
- user.authy_enabled = true
16
- user.save
17
-
18
- token = user.send_reset_password_instructions
19
-
20
- put :update, :user => { :reset_password_token => token, :password => "password", :password_confirmation => "password" }
21
-
22
- user.reload
23
- expect(user.last_sign_in_at).to be_nil
24
- expect(response).to redirect_to(root_url)
25
- end
26
- end
27
- end
28
-
29
- context "when the user don't have 2FA" do
30
- describe "Reset password" do
31
- it "Should sign in the user" do
32
- user = create_user(:authy_id => 1)
33
- user.save
34
-
35
- token = user.send_reset_password_instructions
36
-
37
- last_sign_in_at = user.last_sign_in_at
38
-
39
- put :update, :user => { :reset_password_token => token, :password => "password", :password_confirmation => "password" }
40
- expect(response).to redirect_to(root_url)
41
-
42
- user.reload
43
- expect(user.last_sign_in_at).not_to be_nil
44
- expect(flash[:notice]).to eq("Your password was changed successfully. You are now signed in.")
45
- end
46
- end
47
- end
48
- end
@@ -1,108 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Authy Authenticatable", :type => :request do
4
- describe "If user don't have two factor authentication should login with email - password" do
5
- before :each do
6
- @user = create_user(:email => 'foo@bar.com')
7
- end
8
-
9
- it "Sign in should succeed" do
10
- fill_sign_in_form('foo@bar.com', '12345678')
11
- expect(current_path).to eq(root_path)
12
- expect(page).to have_content('Signed in successfully.')
13
- end
14
-
15
- it "Sign in shouldn't succeed" do
16
- fill_sign_in_form('foo@bar.com', '14567823')
17
- expect(current_path).to eq(new_user_session_path)
18
- expect(page).not_to have_content('Signed in successfully.')
19
- end
20
- end
21
-
22
- describe "If user has two factor authentication" do
23
- before :each do
24
- @user = create_user(:authy_id => 75)
25
- @user.update_attribute(:authy_enabled, true)
26
- end
27
-
28
- it "Sign in should succeed" do
29
- fill_sign_in_form(@user.email, '12345678')
30
- expect(current_path).to eq(user_verify_authy_path)
31
- expect(page).to have_content('Please enter your Authy token')
32
-
33
- within('#devise_authy') do
34
- fill_in 'authy-token', :with => '0000000'
35
- end
36
- click_on 'Check Token'
37
- expect(current_path).to eq(root_path)
38
- expect(page).to have_content(I18n.t('devise.devise_authy.user.signed_in'))
39
- @user.reload
40
- expect(@user.last_sign_in_with_authy).not_to be_nil
41
- end
42
-
43
- it "Sign in shouldn't succeed" do
44
- fill_sign_in_form(@user.email, '12345678')
45
- expect(current_path).to eq(user_verify_authy_path)
46
- expect(page).to have_content('Please enter your Authy token')
47
-
48
- within('#devise_authy') do
49
- fill_in 'authy-token', :with => '324567'
50
- end
51
- click_on 'Check Token'
52
- expect(current_path).to eq(user_verify_authy_path)
53
- @user.reload
54
- expect(@user.last_sign_in_with_authy).to be_nil
55
- end
56
-
57
- describe "With cookie['remember_device']" do
58
- it "prompts for a token when cookie expired" do
59
- expires = { expires: 2.months.ago.to_i, id: @user.id }.to_json
60
- cookie_val = sign_cookie("remember_device", expires)
61
- page.driver.browser.set_cookie("remember_device=#{cookie_val}")
62
- fill_sign_in_form(@user.email, '12345678')
63
- expect(current_path).to eq(user_verify_authy_path)
64
- expect(page).to have_content('Please enter your Authy token')
65
- end
66
-
67
- it "no prompt for a token" do
68
- expires = { expires: Time.now.to_i, id: @user.id }.to_json
69
- cookie_val = sign_cookie("remember_device", expires)
70
- page.driver.browser.set_cookie("remember_device=#{cookie_val}")
71
- fill_sign_in_form(@user.email, '12345678')
72
- expect(current_path).to eq(root_path)
73
- expect(page).to have_content("Signed in successfully.")
74
- end
75
-
76
- it "prompts for a token when user has an old cookie" do
77
- cookie_val = sign_cookie("remember_device", 2.months.ago.to_i)
78
- page.driver.browser.set_cookie("remember_device=#{cookie_val}")
79
- fill_sign_in_form(@user.email, '12345678')
80
- expect(current_path).to eq(user_verify_authy_path)
81
- expect(page).to have_content('Please enter your Authy token')
82
- end
83
-
84
- it "prompts for a token when cookie has an invalid json" do
85
- cookie_val = sign_cookie("remember_device", "{")
86
- page.driver.browser.set_cookie("remember_device=#{cookie_val}")
87
- fill_sign_in_form(@user.email, '12345678')
88
- expect(current_path).to eq(user_verify_authy_path)
89
- expect(page).to have_content('Please enter your Authy token')
90
- end
91
- end
92
-
93
- it "With cookie['current_user_id'] and cookie['user_password_checked']" do
94
- page.driver.browser.set_cookie("current_user_id=#{@user.id}")
95
- page.driver.browser.set_cookie('user_password_checked=true')
96
-
97
- visit user_verify_authy_path
98
- expect(current_path).to eq(new_user_session_path)
99
- expect(page).to have_content('Log in')
100
- end
101
-
102
- it "Click link Request sms" do
103
- fill_sign_in_form(@user.email, '12345678')
104
- click_link 'Request SMS'
105
- expect(page).to have_content("Token was sent.")
106
- end
107
- end
108
- end
@@ -1,70 +0,0 @@
1
- require 'spec_helper'
2
-
3
- feature 'Authy Lockable' do
4
-
5
- context 'during verify code when Authy enabled' do
6
-
7
- let(:user) do
8
- u = create_lockable_user authy_id: 20, email: 'foo@bar.com'
9
- u.update_attribute :authy_enabled, true
10
- u
11
- end
12
-
13
- before :each do
14
- fill_sign_in_form user.email, '12345678', '#new_lockable_user', new_lockable_user_session_path
15
- end
16
-
17
- scenario 'account locked when user enters invalid code too many times' do
18
- (LockableUser.maximum_attempts - 1).times do |i|
19
- fill_verify_token_form invalid_authy_token
20
- assert_at lockable_user_verify_authy_path
21
- expect(page).to have_content('Please enter your Authy token')
22
- user.reload
23
- assert_account_locked_for user, false
24
- expect(user.failed_attempts).to eq(i + 1)
25
- end
26
-
27
- fill_verify_token_form invalid_authy_token
28
- user.reload
29
- assert_at new_user_session_path
30
- assert_account_locked_for user, true
31
- visit root_path
32
- assert_at new_user_session_path
33
- end
34
-
35
- end
36
-
37
- context 'during verify Authy installation' do
38
-
39
- let(:user) { create_lockable_user email: 'foo@bar.com' }
40
-
41
- before do
42
- fill_sign_in_form user.email, '12345678', '#new_lockable_user', new_lockable_user_session_path
43
- end
44
-
45
- scenario 'account locked when user enters invalid code too many times' do
46
- visit lockable_user_enable_authy_path
47
- fill_in 'authy-countries', with: '1'
48
- fill_in 'authy-cellphone', with: '8001234567'
49
- click_on 'Enable'
50
-
51
- (LockableUser.maximum_attempts - 1).times do |i|
52
- fill_in_verify_authy_installation_form invalid_authy_token
53
- assert_at lockable_user_verify_authy_installation_path
54
- expect(page).to have_content('Verify your account')
55
- user.reload
56
- assert_account_locked_for user, false
57
- expect(user.failed_attempts).to eq(i + 1)
58
- end
59
-
60
- fill_in_verify_authy_installation_form invalid_authy_token
61
- user.reload
62
- assert_at new_user_session_path
63
- assert_account_locked_for user, true
64
- visit root_path
65
- assert_at new_user_session_path
66
- end
67
-
68
- end
69
-
70
- end
@@ -1,32 +0,0 @@
1
- require 'spec_helper'
2
-
3
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
4
- require 'rails/generators'
5
- require 'generators/devise_authy/devise_authy_generator'
6
-
7
- describe "generators for devise_authy" do
8
- RAILS_APP_PATH = File.expand_path("../rails-app", __FILE__)
9
-
10
- def rails_command(*args)
11
- `cd #{RAILS_APP_PATH} && BUNDLE_GEMFILE=#{RAILS_APP_PATH}/Gemfile bundle exec rails #{args.join(" ")}`
12
- end
13
-
14
- it "rails g should include the generators" do
15
- @output = rails_command("g")
16
- expect(@output.include?('devise_authy:install')).to be_truthy
17
- expect(@output.include?('active_record:devise_authy')).to be_truthy
18
- end
19
-
20
- it "rails g devise_authy:install" do
21
- @output = rails_command("g", "devise_authy:install", "-s")
22
-
23
- expect(@output.include?('config/initializers/devise.rb')).to be_truthy
24
- expect(@output.include?('authy.rb')).to be_truthy
25
- expect(@output.include?('config/locales/devise.authy.en.yml')).to be_truthy
26
- expect(@output.include?('app/views/devise/devise_authy/enable_authy.html.erb')).to be_truthy
27
- expect(@output.include?('app/views/devise/devise_authy/verify_authy.html.erb')).to be_truthy
28
- expect(@output.include?('app/views/devise/devise_authy/verify_authy_installation.html.erb')).to be_truthy
29
- expect(@output.include?('app/assets/stylesheets/devise_authy.css')).to be_truthy
30
- expect(@output.include?('app/assets/javascripts/devise_authy.js')).to be_truthy
31
- end
32
- end
@@ -1,17 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Devise::Models::AuthyAuthenticatable, type: :model do
4
- before(:each) do
5
- @user = create_user(:authy_id => '20')
6
- end
7
-
8
- describe "User#find_by_authy_id" do
9
- it "Should find the user" do
10
- expect(User.find_by_authy_id('20')).not_to be_nil
11
- end
12
-
13
- it "Shouldn't find the user" do
14
- expect(User.find_by_authy_id('80')).to be_nil
15
- end
16
- end
17
- end
@@ -1,81 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Devise::Models::AuthyLockable, type: :controller do
4
-
5
- context 'model includes Devise::Models::Lockable' do
6
-
7
- let(:user) { create_lockable_user authy_id: '20' }
8
-
9
- context '#lockable?' do
10
-
11
- it 'returns true if lock_strategy is :failed_attempts' do
12
- expect(user.lockable?).to be_truthy
13
- end
14
-
15
- it 'returns false if lock_strategy is anything other than :failed attempts' do
16
- Devise.lock_strategy = :none
17
- expect(user.lockable?).to be_falsey
18
- Devise.lock_strategy = :failed_attempts
19
- end
20
-
21
- end
22
-
23
- context '#invalid_authy_attempt!' do
24
-
25
- it 'resets failed_attempts to 0 if nil' do
26
- user.update_attribute :failed_attempts, nil
27
- user.invalid_authy_attempt!
28
- expect(user.failed_attempts).to eq(1)
29
- end
30
-
31
- it 'updates failed_attempts' do
32
- 10.times { user.invalid_authy_attempt! }
33
- expect(user.failed_attempts).to eq(10)
34
- end
35
-
36
- it 'respects the maximum attempts configuration for Devise::Models::Lockable' do
37
- 4.times { user.invalid_authy_attempt! }
38
- expect(user.send :attempts_exceeded?).to be_truthy # protected method
39
- expect(user.access_locked?).to be_truthy
40
- end
41
-
42
- it 'returns true if the account is locked' do
43
- 3.times { user.invalid_authy_attempt! }
44
- expect(user.invalid_authy_attempt!).to be_truthy
45
- end
46
-
47
- it 'returns false if the account is not locked' do
48
- expect(user.invalid_authy_attempt!).to be_falsey
49
- end
50
-
51
- end
52
-
53
- end
54
-
55
- context 'model misconfigured, includes AuthyLockable w/out Lockable' do
56
-
57
- let(:user) do
58
- u = create_user authy_id: '20'
59
- u.extend Devise::Models::AuthyLockable
60
- u
61
- end
62
-
63
- context '#lockable?' do
64
-
65
- it 'raises an error' do
66
- expect { user.lockable? }.to raise_error 'Devise lockable extension required'
67
- end
68
-
69
- end
70
-
71
- context '#invalid_authy_attempt!' do
72
-
73
- it 'raises an error' do
74
- expect { user.invalid_authy_attempt! }.to raise_error 'Devise lockable extension required'
75
- end
76
-
77
- end
78
-
79
- end
80
-
81
- end
@@ -1,4 +0,0 @@
1
- ActiveRecord::Migration.verbose = false
2
- ActiveRecord::Base.logger = Logger.new(nil)
3
-
4
- ActiveRecord::Migrator.migrate(File.expand_path("../../rails-app/db/migrate/", __FILE__))
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rails", "~> 4.2.7"
4
- gem 'json', '>= 1.8.1'
5
- gem "sqlite3"
6
- gem "rake"
7
- gem "authy"
8
- gem "devise", '>= 3.0.0'
9
- gem "devise-authy", :path => "../.."
10
- gem 'launchy'
@@ -1,141 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- devise-authy (1.8.2)
5
- authy (>= 2.7.2)
6
- devise (>= 3.0.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionmailer (4.2.10)
12
- actionpack (= 4.2.10)
13
- actionview (= 4.2.10)
14
- activejob (= 4.2.10)
15
- mail (~> 2.5, >= 2.5.4)
16
- rails-dom-testing (~> 1.0, >= 1.0.5)
17
- actionpack (4.2.10)
18
- actionview (= 4.2.10)
19
- activesupport (= 4.2.10)
20
- rack (~> 1.6)
21
- rack-test (~> 0.6.2)
22
- rails-dom-testing (~> 1.0, >= 1.0.5)
23
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
24
- actionview (4.2.10)
25
- activesupport (= 4.2.10)
26
- builder (~> 3.1)
27
- erubis (~> 2.7.0)
28
- rails-dom-testing (~> 1.0, >= 1.0.5)
29
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
30
- activejob (4.2.10)
31
- activesupport (= 4.2.10)
32
- globalid (>= 0.3.0)
33
- activemodel (4.2.10)
34
- activesupport (= 4.2.10)
35
- builder (~> 3.1)
36
- activerecord (4.2.10)
37
- activemodel (= 4.2.10)
38
- activesupport (= 4.2.10)
39
- arel (~> 6.0)
40
- activesupport (4.2.10)
41
- i18n (~> 0.7)
42
- minitest (~> 5.1)
43
- thread_safe (~> 0.3, >= 0.3.4)
44
- tzinfo (~> 1.1)
45
- addressable (2.5.2)
46
- public_suffix (>= 2.0.2, < 4.0)
47
- arel (6.0.4)
48
- authy (2.7.2)
49
- httpclient (>= 2.5.3.3)
50
- bcrypt (3.1.11)
51
- builder (3.2.3)
52
- concurrent-ruby (1.0.5)
53
- crass (1.0.3)
54
- devise (4.3.0)
55
- bcrypt (~> 3.0)
56
- orm_adapter (~> 0.1)
57
- railties (>= 4.1.0, < 5.2)
58
- responders
59
- warden (~> 1.2.3)
60
- erubis (2.7.0)
61
- globalid (0.4.1)
62
- activesupport (>= 4.2.0)
63
- httpclient (2.8.3)
64
- i18n (0.9.1)
65
- concurrent-ruby (~> 1.0)
66
- json (2.1.0)
67
- launchy (2.4.3)
68
- addressable (~> 2.3)
69
- loofah (2.1.1)
70
- crass (~> 1.0.2)
71
- nokogiri (>= 1.5.9)
72
- mail (2.7.0)
73
- mini_mime (>= 0.1.1)
74
- mini_mime (1.0.0)
75
- mini_portile2 (2.3.0)
76
- minitest (5.10.3)
77
- nokogiri (1.8.1)
78
- mini_portile2 (~> 2.3.0)
79
- orm_adapter (0.5.0)
80
- public_suffix (3.0.1)
81
- rack (1.6.8)
82
- rack-test (0.6.3)
83
- rack (>= 1.0)
84
- rails (4.2.10)
85
- actionmailer (= 4.2.10)
86
- actionpack (= 4.2.10)
87
- actionview (= 4.2.10)
88
- activejob (= 4.2.10)
89
- activemodel (= 4.2.10)
90
- activerecord (= 4.2.10)
91
- activesupport (= 4.2.10)
92
- bundler (>= 1.3.0, < 2.0)
93
- railties (= 4.2.10)
94
- sprockets-rails
95
- rails-deprecated_sanitizer (1.0.3)
96
- activesupport (>= 4.2.0.alpha)
97
- rails-dom-testing (1.0.8)
98
- activesupport (>= 4.2.0.beta, < 5.0)
99
- nokogiri (~> 1.6)
100
- rails-deprecated_sanitizer (>= 1.0.1)
101
- rails-html-sanitizer (1.0.3)
102
- loofah (~> 2.0)
103
- railties (4.2.10)
104
- actionpack (= 4.2.10)
105
- activesupport (= 4.2.10)
106
- rake (>= 0.8.7)
107
- thor (>= 0.18.1, < 2.0)
108
- rake (12.3.0)
109
- responders (2.4.0)
110
- actionpack (>= 4.2.0, < 5.3)
111
- railties (>= 4.2.0, < 5.3)
112
- sprockets (3.7.1)
113
- concurrent-ruby (~> 1.0)
114
- rack (> 1, < 3)
115
- sprockets-rails (3.2.1)
116
- actionpack (>= 4.0)
117
- activesupport (>= 4.0)
118
- sprockets (>= 3.0.0)
119
- sqlite3 (1.3.13)
120
- thor (0.20.0)
121
- thread_safe (0.3.6)
122
- tzinfo (1.2.4)
123
- thread_safe (~> 0.1)
124
- warden (1.2.7)
125
- rack (>= 1.0)
126
-
127
- PLATFORMS
128
- ruby
129
-
130
- DEPENDENCIES
131
- authy
132
- devise (>= 3.0.0)
133
- devise-authy!
134
- json (>= 1.8.1)
135
- launchy
136
- rails (~> 4.2.7)
137
- rake
138
- sqlite3
139
-
140
- BUNDLED WITH
141
- 1.16.0