any_login 1.5.3 → 1.6.0

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/any_login/application.css +3 -0
  3. data/app/controllers/any_login/application_controller.rb +1 -9
  4. data/app/views/any_login/_any_login.html.erb +4 -4
  5. data/app/views/any_login/assets/_css.html.erb +101 -0
  6. data/app/views/any_login/assets/_js.html.erb +25 -0
  7. data/config/routes.rb +0 -2
  8. data/lib/any_login/helpers.rb +3 -1
  9. data/lib/any_login/providers/devise.rb +1 -1
  10. data/lib/any_login/version.rb +1 -1
  11. data/test/rails_apps/authlogic/db/development.sqlite3 +0 -0
  12. data/test/rails_apps/authlogic/db/test.sqlite3 +0 -0
  13. data/test/rails_apps/authlogic/db/test.sqlite3-shm +0 -0
  14. data/test/rails_apps/authlogic/db/test.sqlite3-wal +0 -0
  15. data/test/rails_apps/authlogic/log/development.log +438 -0
  16. data/test/rails_apps/authlogic/log/test.log +1144 -0
  17. data/test/rails_apps/authlogic/tmp/development_secret.txt +1 -0
  18. data/test/rails_apps/authlogic/tmp/local_secret.txt +1 -0
  19. data/test/rails_apps/clearance/config/environment.rb +1 -0
  20. data/test/rails_apps/clearance/db/development.sqlite3 +0 -0
  21. data/test/rails_apps/clearance/db/test.sqlite3 +0 -0
  22. data/test/rails_apps/clearance/db/test.sqlite3-shm +0 -0
  23. data/test/rails_apps/clearance/db/test.sqlite3-wal +0 -0
  24. data/test/rails_apps/clearance/log/development.log +388 -0
  25. data/test/rails_apps/clearance/log/test.log +1110 -0
  26. data/test/rails_apps/clearance/tmp/development_secret.txt +1 -0
  27. data/test/rails_apps/clearance/tmp/local_secret.txt +1 -0
  28. data/test/rails_apps/devise/db/development.sqlite3 +0 -0
  29. data/test/rails_apps/devise/db/schema.rb +4 -4
  30. data/test/rails_apps/devise/db/test.sqlite3 +0 -0
  31. data/test/rails_apps/devise/db/test.sqlite3-shm +0 -0
  32. data/test/rails_apps/devise/db/test.sqlite3-wal +0 -0
  33. data/test/rails_apps/devise/log/development.log +1081 -0
  34. data/test/rails_apps/devise/log/test.log +2120 -0
  35. data/test/rails_apps/devise/tmp/development_secret.txt +1 -0
  36. data/test/rails_apps/devise/tmp/local_secret.txt +1 -0
  37. data/test/rails_apps/sorcery/db/development.sqlite3 +0 -0
  38. data/test/rails_apps/sorcery/db/test.sqlite3 +0 -0
  39. data/test/rails_apps/sorcery/db/test.sqlite3-shm +0 -0
  40. data/test/rails_apps/sorcery/db/test.sqlite3-wal +0 -0
  41. data/test/rails_apps/sorcery/log/development.log +247 -0
  42. data/test/rails_apps/sorcery/log/test.log +532 -0
  43. data/test/rails_apps/sorcery/tmp/development_secret.txt +1 -0
  44. data/test/rails_apps/sorcery/tmp/local_secret.txt +1 -0
  45. data/test/test_helper_common.rb +2 -1
  46. metadata +86 -7
  47. data/app/assets/javascripts/any_login/application.js +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c014e2e8bac3887e0126a342a6fa41cfd35152ca6a4748437f0f228b42b4accf
4
- data.tar.gz: 329b8c06313c12f8996cae7dae61604353aadd79ca7d25fc73f1a96409785ce3
3
+ metadata.gz: bfc947837944c5fd9470108cd402ac191433e9b79d1f49820ff9f7709e5c6d0a
4
+ data.tar.gz: 13dceae2e364d6a13a694855b1d2539216b1e4c5d7fb93d550a7df8a17ff2ba7
5
5
  SHA512:
6
- metadata.gz: aacd5fc147a06705b3d39651554a7b0267c1323cc900b2a3bacdc8731e68ced22ae13226aaaa41dc4c370ad5ae71ead5db3a62fe845b4383a5211ec537230925
7
- data.tar.gz: b96ddf9d769f8e7bb56af19e2b404153aaa3750a2e466fb99ff35735c0fc8c92a91bf30b6f0dbef447636d1744952d62d4a00db20d63457b0540cedaeb986985
6
+ metadata.gz: beca6cddab932f7c230a1d5ec979789d72ec54f1b7cea40bfdc56949680641534a0d2c8fe29b8664fa5073abf2324cc9f89d3eb76e6e7d56eef5a248fa96d557
7
+ data.tar.gz: 9ab1c3b8fb682bc8037e1caa9e741a1d4933676dcc76f3f68746d80a9c1472fca7fd67a73de3734ce7530f6079887c4c90b18265913806c64a81b7c93d1e0141
@@ -12,6 +12,9 @@
12
12
  margin: 0;
13
13
  height: auto;
14
14
  padding: 4px 6px;
15
+ display: flex;
16
+ align-items: center;
17
+ gap: 6px;
15
18
  }
16
19
 
17
20
  #any_login #any_login_box {
@@ -1,6 +1,6 @@
1
1
  module AnyLogin
2
2
  class ApplicationController < ActionController::Base
3
- protect_from_forgery except: :js
3
+ protect_from_forgery
4
4
  before_action :try_not_to_leak_any_login_is_installed
5
5
 
6
6
  include AnyLogin.provider.constantize::Controller
@@ -19,14 +19,6 @@ module AnyLogin
19
19
  AnyLogin.provider.constantize::Controller.instance_method(:any_login_sign_in).bind(self).call
20
20
  end
21
21
 
22
- def css
23
- send_file AnyLogin::Engine.root.join('app', 'assets', 'stylesheets', 'any_login', 'application.css'), content_type: 'text/css'
24
- end
25
-
26
- def js
27
- send_file AnyLogin::Engine.root.join('app', 'assets', 'javascripts', 'any_login', 'application.js'), content_type: 'text/javascript'
28
- end
29
-
30
22
  private
31
23
 
32
24
  def try_not_to_leak_any_login_is_installed
@@ -1,10 +1,10 @@
1
- <script src="<%= any_login.js_path %>"></script>
2
- <link rel="stylesheet" href="<%= any_login.css_path %>">
1
+ <%= render 'any_login/assets/js' %>
2
+ <%= render 'any_login/assets/css' %>
3
3
 
4
4
  <div id='any_login' class='<%= any_login_klasses %>'>
5
- <%= form_tag any_login.sign_in_path, :method => :post, :id => 'any_login_form' do %>
5
+ <%= form_tag any_login.sign_in_path, method: :post, id: 'any_login_form' do %>
6
6
  <label for="any_login_form_toggle" id="any_login_form_toggle_label">
7
- <%= render 'any_login/svg/user', :title => AnyLogin.klass %>
7
+ <%= render 'any_login/svg/user', title: AnyLogin.klass %>
8
8
  </label>
9
9
  <input type="checkbox" id="any_login_form_toggle" <%= AnyLogin.auto_show ? "checked" : "" %>>
10
10
  <span id='any_login_box'>
@@ -0,0 +1,101 @@
1
+ <style>
2
+ #any_login {
3
+ position: fixed;
4
+ opacity: 0.5;
5
+ background: #5c4383;
6
+ color: white;
7
+ font-size: 16px;
8
+ line-height: 20px;
9
+ z-index: 10000;
10
+ }
11
+
12
+ #any_login form {
13
+ margin: 0;
14
+ height: auto;
15
+ padding: 4px 6px;
16
+ display: flex;
17
+ align-items: center;
18
+ gap: 6px;
19
+ }
20
+
21
+ #any_login #any_login_box {
22
+ display: none;
23
+ vertical-align: middle;
24
+ }
25
+
26
+ #any_login_form_toggle {
27
+ display: none;
28
+ }
29
+
30
+ #any_login_form_toggle[type=checkbox]:checked ~ #any_login_box {
31
+ display: inline;
32
+ }
33
+
34
+ #any_login input,
35
+ #any_login select {
36
+ color: black;
37
+ padding: 0;
38
+ margin: 0;
39
+ height: auto;
40
+ float: none;
41
+ text-decoration: none;
42
+ position: unset;
43
+ left: auto;
44
+ top: auto;
45
+ font-size: auto;
46
+ line-height: auto;
47
+ }
48
+
49
+ #any_login.any_login_top_left {
50
+ top: 0;
51
+ left: 0;
52
+ }
53
+
54
+ #any_login.any_login_top_right {
55
+ top: 0;
56
+ right: 0;
57
+ }
58
+
59
+ #any_login.any_login_bottom_left {
60
+ bottom: 0;
61
+ left: 0;
62
+ }
63
+
64
+ #any_login.any_login_bottom_right {
65
+ bottom: 0;
66
+ right: 0;
67
+ }
68
+
69
+ #any_login svg {
70
+ cursor: pointer;
71
+ vertical-align: middle;
72
+ fill: #fff;
73
+ }
74
+
75
+ #any_login:hover {
76
+ opacity: 1;
77
+ }
78
+
79
+ #any_login .any_login_user_information {
80
+ padding-left: 10px;
81
+ color: yellow;
82
+ }
83
+
84
+ #any_login #any_login_id_input {
85
+ width: 30px;
86
+ }
87
+
88
+ #any_login span#current_user_information {
89
+ display: inline;
90
+ }
91
+
92
+ #any_login span#current_user_information span {
93
+ display: inline;
94
+ }
95
+
96
+ #any_login span#anylogin_back_to_user {
97
+ padding-left: 15px;
98
+ color: cyan;
99
+ display: inline;
100
+ }
101
+ </style>
@@ -0,0 +1,25 @@
1
+ <script>
2
+ function submitOnChange() {
3
+ document.getElementById('any_login_form').submit();
4
+ }
5
+
6
+ function elementExists(element) {
7
+ return typeof (element) != 'undefined' && element != null;
8
+ }
9
+
10
+ function addChangeListenerTo(elementId) {
11
+ let element = document.getElementById(elementId);
12
+ if (elementExists(element)) {
13
+ element.addEventListener("change", submitOnChange);
14
+ }
15
+ }
16
+
17
+ function setupAnyLoginHandlers() {
18
+ addChangeListenerTo("back_to_previous_id");
19
+ addChangeListenerTo("selected_id");
20
+ }
21
+
22
+ ['DOMContentLoaded', 'turbolinks:load', 'turbo:load'].forEach(function(e) {
23
+ window.addEventListener(e, setupAnyLoginHandlers);
24
+ });
25
+ </script>
data/config/routes.rb CHANGED
@@ -1,6 +1,4 @@
1
1
  AnyLogin::Engine.routes.draw do
2
- get '/any_login/js' => 'application#js', as: :js
3
- get '/any_login/css' => 'application#css', as: :css
4
2
  post '/any_login/sign_in' => 'application#any_login', as: :sign_in
5
3
  end
6
4
 
@@ -9,7 +9,9 @@ module AnyLogin
9
9
  if AnyLogin.enabled
10
10
 
11
11
  def any_login_id_input
12
- text_field_tag :id, '', :placeholder => 'ID', :id => 'any_login_id_input', :required => true
12
+ def any_login_id_input
13
+ text_field_tag :id, '', placeholder: 'ID', id: 'any_login_id_input', required: true
14
+ end
13
15
  end
14
16
 
15
17
  def any_login_submit
@@ -6,7 +6,7 @@ module AnyLogin
6
6
 
7
7
  DEFAULT_SIGN_IN = proc do |loginable|
8
8
  reset_session
9
- sign_in Controller.mapping_key, loginable
9
+ sign_in loginable, scope: Controller.mapping_key
10
10
  end
11
11
 
12
12
  def self.any_login_current_user_method
@@ -1,3 +1,3 @@
1
1
  module AnyLogin
2
- VERSION = '1.5.3'
2
+ VERSION = '1.6.0'
3
3
  end
File without changes