auto-session-timeout 0.9.4 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 77ae45c61583c38e509d9db9197d0b20043fc183
4
- data.tar.gz: 0173b194b2ae4b8b1c4dabdb957cf78256cf83da
2
+ SHA256:
3
+ metadata.gz: 71d3e9f467963b89be2bdfb4e87ce915ed693536fd0760cf954d6116c8987c3a
4
+ data.tar.gz: f3b2cfee583099d5bb29400db0e4e187f8fdfd1750cc12cfc45380316719df50
5
5
  SHA512:
6
- metadata.gz: 9d70255cc2a19147c9e48cde559c828a396c8936001bb4054703ec42fa837c2e7932d437964bffdcd5edaa1c8934f55694c8ba373a5bdacb4a466870037117b4
7
- data.tar.gz: cb1b5c13b32213881d94bd7cc329afa6cde3bc13ad0dbd4b25699cd81d52e8fb406dc14172d48131abf4f20510a7545960b56643a56fde6b29d2666f96fd1105
6
+ metadata.gz: 20685219ebb5e6750e215d8a873ad60b7de0a3e05f36c9bfb03249266b4886b240ea6b009242a718dc7d91b723053d3c5c3a2ae4f768b6ab016cefe915d7ed73
7
+ data.tar.gz: d94594ce6b6d7464ad543fcad88e8343e53b1d3a1f6af02f0d6d24a2877167b6cd776a4e62f575cc023ee752a30be4b7ed518b0283ed6eb144b42a5345d2705c
data/.gitignore CHANGED
@@ -5,6 +5,7 @@
5
5
  .yardoc
6
6
  *.sublime-project
7
7
  *.sublime-workspace
8
+ .idea
8
9
  Gemfile.lock
9
10
  InstalledFiles
10
11
  _yardoc
data/.travis.yml ADDED
@@ -0,0 +1,46 @@
1
+ sudo: false
2
+ language: ruby
3
+ cache: bundler
4
+ before_install:
5
+ - gem install bundler -v '~> 2'
6
+ rvm:
7
+ - 2.4.10
8
+ - 2.5.8
9
+ - 2.6.6
10
+ - 2.7.2
11
+ - ruby-head
12
+ env:
13
+ - RAILS_VERSION='~> 3.2'
14
+ - RAILS_VERSION='~> 4.0'
15
+ - RAILS_VERSION='~> 4.1'
16
+ - RAILS_VERSION='~> 4.2'
17
+ - RAILS_VERSION='~> 5.0'
18
+ - RAILS_VERSION='~> 5.1'
19
+ - RAILS_VERSION='~> 5.2'
20
+ - RAILS_VERSION='~> 6.0'
21
+ - RAILS_VERSION='~> 6.1'
22
+ jobs:
23
+ exclude:
24
+ - rvm: 2.4.10
25
+ env: RAILS_VERSION='~> 6.0'
26
+ - rvm: 2.4.10
27
+ env: RAILS_VERSION='~> 6.1'
28
+ - rvm: 2.7.2
29
+ env: RAILS_VERSION='~> 3.2'
30
+ - rvm: 2.7.2
31
+ env: RAILS_VERSION='~> 4.0'
32
+ - rvm: 2.7.2
33
+ env: RAILS_VERSION='~> 4.1'
34
+ - rvm: 2.7.2
35
+ env: RAILS_VERSION='~> 4.2'
36
+ - rvm: ruby-head
37
+ env: RAILS_VERSION='~> 3.2'
38
+ - rvm: ruby-head
39
+ env: RAILS_VERSION='~> 4.0'
40
+ - rvm: ruby-head
41
+ env: RAILS_VERSION='~> 4.1'
42
+ - rvm: ruby-head
43
+ env: RAILS_VERSION='~> 4.2'
44
+ allow_failures:
45
+ - rvm: ruby-head
46
+ fast_finish: true
data/CHANGELOG CHANGED
@@ -1,5 +1,59 @@
1
+ 2021-10-11 - v0.9.8
2
+
3
+ 2021-10-10 - Custom session timeout method [JunaidUK]
4
+
5
+ 2021-02-02 - v0.9.7
6
+
7
+ 2021-02-02 - Rails 6 compatibility [jasonheecs]
8
+
9
+ 2019-10-15 - v0.9.6
10
+
11
+ 2019-10-15 - Use routes in JS helper [pelargir]
12
+
13
+ 2019-03-03 - Update README [cprodhomme]
14
+
15
+ 2018-12-21 - Support Rails protect_from_forgery [davegudge]
16
+
17
+ 2017-06-13 - v0.9.5
18
+
19
+ 2017-06-12 - Exclude controller actions from CSRF verification [pelargir]
20
+
21
+ 2017-06-12 - Make updater use vanilla JS [emilos]
22
+
23
+ 2017-05-16 - v0.9.4
24
+
25
+ 2017-05-08 - Rails 5 compatibility [quainjn]
26
+
27
+ 2016-10-14 - Allow defining verbosity [zaimramlan]
28
+
29
+ 2013-08-29 - v0.9.3
30
+
31
+ 2013-08-28 - Add jQuery support [krishnasrihari]
32
+
33
+ 2013-07-24 - v0.9.2
34
+
35
+ 2013-07-24 - Add tests and use Ruby 1.9 hash syntax [pelargir]
36
+
37
+ 2013-07-24 - v0.9.1
38
+
39
+ 2013-07-24 - Timeout can be set in controller or user model [pelargir]
40
+
41
+ 2013-07-22 - v0.9
42
+
43
+ 2013-07-21 - Support for jQuery periodical updater plugin [pelargir]
44
+
45
+ 2013-07-17 - v0.8
46
+
1
47
  2014-07-14 - Added jQuery support [krishnasrihari]
2
48
 
49
+ 2013-06-23 - v0.7
50
+
3
51
  2013-06-22 - Switched to Bundler for generating the gemspec [pelargir]
4
52
 
5
- 2009-04-22 - Initial import [pelargir]
53
+ 2009-08-22 - v0.5
54
+
55
+ 2009-06-03 - Move controller actions into plugin [pelargir]
56
+
57
+ 2009-04-22 - Add JS helper [pelargir]
58
+
59
+ 2009-04-22 - Initial import [pelargir]
data/Gemfile CHANGED
@@ -1,4 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ rails_version = ENV['RAILS_VERSION']
4
+ gem 'actionpack', rails_version
5
+
3
6
  # Specify your gem's dependencies in auto-session-timeout.gemspec
4
7
  gemspec
data/README.md CHANGED
@@ -1,100 +1,166 @@
1
- # auto-session-timeout
1
+ [![Build Status](https://travis-ci.com/pelargir/auto-session-timeout.svg?branch=master)](https://travis-ci.com/pelargir/auto-session-timeout)
2
+
3
+ # Auto::Session::Timeout
2
4
 
3
5
  Provides automatic session timeout in a Rails application. Very easy
4
6
  to install and configure. Have you ever wanted to force your users
5
7
  off your app if they go idle for a certain period of time? Many
6
8
  online banking sites use this technique. If your app is used on any
7
- kind of public computer system, this plugin is a necessity.
9
+ kind of public computer system, this gem is a necessity.
8
10
 
9
11
  ## Installation
10
12
 
11
13
  Add this line to your application's Gemfile:
12
14
 
13
- gem 'auto-session-timeout'
15
+ ```ruby
16
+ gem 'auto-session-timeout'
17
+ ```
14
18
 
15
19
  And then execute:
16
20
 
17
- $ bundle
21
+ ```
22
+ $ bundle
23
+ ```
18
24
 
19
25
  Or install it yourself as:
20
26
 
21
- $ gem install auto-session-timeout
27
+ ```
28
+ $ gem install auto-session-timeout
29
+ ```
22
30
 
23
31
  ## Usage
24
32
 
25
33
  After installing, tell your application controller to use auto timeout:
26
34
 
27
- class ApplicationController < ActionController::Base
28
- auto_session_timeout 1.hour
29
- ...
30
- end
31
-
32
- You will also need to insert this line inside the body tags in your
33
- views. The easiest way to do this is to insert it once inside your
34
- default or application-wide layout. Make sure you are only rendering
35
- it if the user is logged in, otherwise the plugin will attempt to force
36
- non-existent sessions to timeout, wreaking havoc:
37
-
38
- <body>
39
- <% if current_user %>
40
- <%= auto_session_timeout_js %>
41
- <% end %>
42
- </body>
35
+ ```ruby
36
+ class ApplicationController < ActionController::Base
37
+ auto_session_timeout 1.hour
38
+ end
39
+ ```
40
+
41
+ This will use a global timeout of 1 hour. The gem assumes your authentication
42
+ provider has a `#current_user` method that returns the currently logged in user.
43
+
44
+ If you want to specify a custom timeout value per user, don't pass a value to
45
+ the controller as shown above. Instead, override `#auto_timeout` in your
46
+ `#current_user` model. This is typically the `User` class:
47
+
48
+ ```ruby
49
+ class ApplicationController < ActionController::Base
50
+ auto_session_timeout
51
+ end
52
+
53
+ class User < ActiveRecord::Base
54
+ def auto_timeout
55
+ 15.minutes
56
+ end
57
+ end
58
+ ```
59
+
60
+ You will also need to insert a call to the `#auto_session_timeout_js`
61
+ helper method inside the body tags in your views. The easiest way to
62
+ do this is to insert it once inside your default or application-wide
63
+ layout. Make sure you are only rendering if the user is logged in,
64
+ otherwise the gem will attempt to force non-existent sessions to
65
+ timeout, wreaking havoc:
66
+
67
+ ```erb
68
+ <body>
69
+ <% if current_user %>
70
+ <%= auto_session_timeout_js %>
71
+ <% end %>
72
+ </body>
73
+ ```
43
74
 
44
75
  You need to setup two actions: one to return the session status and
45
76
  another that runs when the session times out. You can use the default
46
- actions included with the plugin by inserting this line in your target
77
+ actions included with the gem by inserting this line in your target
47
78
  controller (most likely your user or session controller):
48
79
 
49
- class SessionsController < ApplicationController
50
- auto_session_timeout_actions
51
- end
80
+ ```ruby
81
+ class SessionsController < ApplicationController
82
+ auto_session_timeout_actions
83
+ end
84
+ ```
52
85
 
53
86
  To customize the default actions, simply override them. You can call
54
- the render_session_status and render_session_timeout methods to use
55
- the default implementation from the plugin, or you can define the
87
+ the `#render_session_status` and `#render_session_timeout` methods to
88
+ use the default implementation from the gem, or you can define the
56
89
  actions entirely with your own custom code:
57
90
 
58
- class SessionsController < ApplicationController
59
- def active
60
- render_session_status
61
- end
62
-
63
- def timeout
64
- render_session_timeout
65
- end
66
- end
91
+ ```ruby
92
+ class SessionsController < ApplicationController
93
+ def active
94
+ render_session_status
95
+ end
96
+
97
+ def timeout
98
+ render_session_timeout
99
+ end
100
+ end
101
+ ```
67
102
 
68
- In any of these cases, make sure to properly map the actions in
69
- your routes.rb file:
103
+ In any of these cases, make sure to properly map the actions in your
104
+ routes.rb file:
70
105
 
71
- match 'active' => 'sessions#active', via: :get
72
- match 'timeout' => 'sessions#timeout', via: :get
106
+ ```ruby
107
+ get "active", to: "sessions#active"
108
+ get "timeout", to: "sessions#timeout"
109
+ ```
73
110
 
74
111
  You're done! Enjoy watching your sessions automatically timeout.
75
112
 
76
- ## Additional Configuration
113
+ ## Using with Devise
114
+
115
+ When using Devise for authentication you will need to add a scoped
116
+ sessions controller and call the timeout actions helper there.
117
+ For example:
118
+
119
+ ```ruby
120
+ class Users::SessionsController < Devise::SessionsController
121
+ auto_session_timeout_actions
122
+ end
123
+ ```
124
+
125
+ In your routes.rb file you will need to declare your scoped controller
126
+ and declare the timeout actions inside the same Devise scope:
127
+
128
+ ```ruby
129
+ Rails.application.routes.draw do
130
+ devise_for :users, controllers: { sessions: "users/sessions" }
131
+
132
+ devise_scope :user do
133
+ get "active", to: "users/sessions#active"
134
+ get "timeout", to: "users/sessions#timeout"
135
+ end
136
+ end
137
+ ```
138
+
139
+ You can use Devise's `#user_signed_in?` method when you call the JS helper
140
+ method in your view:
141
+
142
+ ```erb
143
+ <body>
144
+ <% if user_signed_in? %>
145
+ <%= auto_session_timeout_js %>
146
+ <% end %>
147
+ </body>
148
+ ```
149
+
150
+ ## Optional Configuration
77
151
 
78
152
  By default, the JavaScript code checks the server every 60 seconds for
79
153
  active sessions. If you prefer that it check more frequently, pass a
80
154
  frequency attribute to the helper method. The frequency is given in
81
155
  seconds. The following example checks the server every 15 seconds:
82
156
 
83
- <html>
84
- <head>...</head>
85
- <body>
86
- <% if current_user %>
87
- <%= auto_session_timeout_js frequency: 15 %>
88
- <% end %>
89
- ...
90
- </body>
91
- </html>
92
-
93
- ## TODO
94
-
95
- * current_user must be defined
96
- * using Prototype vs. jQuery
97
- * setting timeout in controller vs. user
157
+ ```erb
158
+ <body>
159
+ <% if current_user %>
160
+ <%= auto_session_timeout_js frequency: 15 %>
161
+ <% end %>
162
+ </body>
163
+ ```
98
164
 
99
165
  ## Contributing
100
166
 
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Auto::Session::Timeout::VERSION
9
9
  spec.authors = ["Matthew Bass"]
10
10
  spec.email = ["pelargir@gmail.com"]
11
- spec.description = %q{Provides automatic session timeout in a Rails application.}
11
+ spec.description = %q{Automatic session timeout in Rails}
12
12
  spec.summary = %q{Provides automatic session timeout in a Rails application.}
13
13
  spec.homepage = "http://github.com/pelargir/auto-session-timeout"
14
14
  spec.license = "MIT"
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rake", "~> 0"
23
- spec.add_development_dependency "minitest", "~> 4.2"
24
- spec.add_development_dependency "actionpack", "~> 3.2"
21
+ spec.add_dependency "actionpack", [">= 3.2", "< 7"]
22
+ spec.add_development_dependency "bundler", "~> 2.0"
23
+ spec.add_development_dependency "rake", "~> 13.0"
24
+ spec.add_development_dependency "minitest", [">= 4.2", "< 6"]
25
25
  end
@@ -1,7 +1,7 @@
1
1
  module Auto
2
2
  module Session
3
3
  module Timeout
4
- VERSION = "0.9.4"
4
+ VERSION = "0.9.8"
5
5
  end
6
6
  end
7
7
  end
@@ -6,9 +6,10 @@ module AutoSessionTimeout
6
6
 
7
7
  module ClassMethods
8
8
  def auto_session_timeout(seconds=nil)
9
+ protect_from_forgery except: [:active, :timeout]
9
10
  prepend_before_action do |c|
10
- if c.session[:auto_session_expires_at] && c.session[:auto_session_expires_at] < Time.now
11
- c.send :reset_session
11
+ if session_expired?(c) && !signing_in?(c)
12
+ handle_session_reset(c)
12
13
  else
13
14
  unless c.request.original_url.start_with?(c.send(:active_url))
14
15
  offset = seconds || (current_user.respond_to?(:auto_timeout) ? current_user.auto_timeout : nil)
@@ -30,8 +31,28 @@ module AutoSessionTimeout
30
31
  end
31
32
 
32
33
  def render_session_timeout
33
- flash[:notice] = "Your session has timed out."
34
- redirect_to "/login"
34
+ flash[:notice] = t("devise.failure.timeout", default: "Your session has timed out.")
35
+ redirect_to sign_in_path
36
+ end
37
+
38
+ private
39
+
40
+ def handle_session_reset(c)
41
+ c.send :reset_session
42
+ end
43
+
44
+ def signing_in?(c)
45
+ c.request.env["PATH_INFO"] == sign_in_path && c.request.env["REQUEST_METHOD"] == "POST"
46
+ end
47
+
48
+ def session_expired?(c)
49
+ c.session[:auto_session_expires_at].try(:<, Time.now)
50
+ end
51
+
52
+ def sign_in_path
53
+ user_session_path
54
+ rescue
55
+ "/login"
35
56
  end
36
57
 
37
58
  end
@@ -1,34 +1,26 @@
1
1
  module AutoSessionTimeoutHelper
2
2
  def auto_session_timeout_js(options={})
3
3
  frequency = options[:frequency] || 60
4
- verbosity = options[:verbosity] || 2
4
+ attributes = options[:attributes] || {}
5
5
  code = <<JS
6
- if (typeof(Ajax) != 'undefined') {
7
- new Ajax.PeriodicalUpdater('', '/active', {frequency:#{frequency}, method:'get', onSuccess: function(e) {
8
- if (e.responseText == 'false') window.location.href = '/timeout';
9
- }});
10
- }else if(typeof(jQuery) != 'undefined'){
11
- function PeriodicalQuery() {
12
- $.ajax({
13
- url: '/active',
14
- success: function(data) {
15
- if(data == 'false'){
16
- window.location.href = '/timeout';
17
- }
18
- }
19
- });
20
- setTimeout(PeriodicalQuery, (#{frequency} * 1000));
21
- }
6
+ function PeriodicalQuery() {
7
+ var request = new XMLHttpRequest();
8
+ request.onload = function (event) {
9
+ var status = event.target.status;
10
+ var response = event.target.response;
11
+ if (status === 200 && (response === false || response === 'false' || response === null)) {
12
+ window.location.href = '#{timeout_path}';
13
+ }
14
+ };
15
+ request.open('GET', '#{active_path}', true);
16
+ request.responseType = 'json';
17
+ request.send();
22
18
  setTimeout(PeriodicalQuery, (#{frequency} * 1000));
23
- } else {
24
- $.PeriodicalUpdater('/active', {minTimeout:#{frequency * 1000}, multiplier:0, method:'get', verbose:#{verbosity}}, function(remoteData, success) {
25
- if (success == 'success' && remoteData == 'false')
26
- window.location.href = '/timeout';
27
- });
28
19
  }
20
+ setTimeout(PeriodicalQuery, (#{frequency} * 1000));
29
21
  JS
30
- javascript_tag(code)
22
+ javascript_tag(code, attributes)
31
23
  end
32
24
  end
33
25
 
34
- ActionView::Base.send :include, AutoSessionTimeoutHelper
26
+ ActionView::Base.send :include, AutoSessionTimeoutHelper
@@ -2,46 +2,40 @@ require File.dirname(__FILE__) + '/test_helper'
2
2
 
3
3
  describe AutoSessionTimeoutHelper do
4
4
 
5
- subject { Class.new(ActionView::Base).new }
5
+ class StubView
6
+ include AutoSessionTimeoutHelper
7
+ include ActionView::Helpers::JavaScriptHelper
8
+ include ActionView::Helpers::TagHelper
9
+
10
+ def timeout_path
11
+ "/timeout"
12
+ end
13
+
14
+ def active_path
15
+ "/active"
16
+ end
17
+ end
18
+
19
+ subject { StubView.new }
6
20
 
7
21
  describe "#auto_session_timeout_js" do
8
22
  it "returns correct JS" do
9
- assert_equal "<script type=\"text/javascript\">
10
- //<![CDATA[
11
- if (typeof(Ajax) != 'undefined') {
12
- new Ajax.PeriodicalUpdater('', '/active', {frequency:60, method:'get', onSuccess: function(e) {
13
- if (e.responseText == 'false') window.location.href = '/timeout';
14
- }});
15
- }else if(typeof(jQuery) != 'undefined'){
16
- function PeriodicalQuery() {
17
- $.ajax({
18
- url: '/active',
19
- success: function(data) {
20
- if(data == 'false'){
21
- window.location.href = '/timeout';
22
- }
23
- }
24
- });
25
- setTimeout(PeriodicalQuery, (60 * 1000));
26
- }
27
- setTimeout(PeriodicalQuery, (60 * 1000));
28
- } else {
29
- $.PeriodicalUpdater('/active', {minTimeout:60000, multiplier:0, method:'get', verbose:2}, function(remoteData, success) {
30
- if (success == 'success' && remoteData == 'false')
31
- window.location.href = '/timeout';
32
- });
33
- }
34
-
35
- //]]>
36
- </script>", subject.auto_session_timeout_js
23
+ js = subject.auto_session_timeout_js
24
+ assert js.include?("window.location.href = '/timeout'")
25
+ assert js.include?("request.open('GET', '/active', true)")
26
+ assert js.include?("setTimeout(PeriodicalQuery, (60 * 1000))")
37
27
  end
38
28
 
39
29
  it "uses custom frequency when given" do
40
- assert_match /frequency:120/, subject.auto_session_timeout_js(frequency: 120)
30
+ assert_match %r{120}, subject.auto_session_timeout_js(frequency: 120)
41
31
  end
42
32
 
43
33
  it "uses 60 when custom frequency is nil" do
44
- assert_match /frequency:60/, subject.auto_session_timeout_js(frequency: nil)
34
+ assert_match %r{60}, subject.auto_session_timeout_js(frequency: nil)
35
+ end
36
+
37
+ it "accepts attributes" do
38
+ assert_match %r{data-turbolinks-eval="false"}, subject.auto_session_timeout_js(attributes: { 'data-turbolinks-eval': 'false' })
45
39
  end
46
40
  end
47
41
 
metadata CHANGED
@@ -1,72 +1,84 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auto-session-timeout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Bass
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-16 00:00:00.000000000 Z
11
+ date: 2021-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: actionpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
20
- type: :development
19
+ version: '3.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7'
23
+ type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '1.3'
29
+ version: '3.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7'
27
33
  - !ruby/object:Gem::Dependency
28
- name: rake
34
+ name: bundler
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
39
+ version: '2.0'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0'
46
+ version: '2.0'
41
47
  - !ruby/object:Gem::Dependency
42
- name: minitest
48
+ name: rake
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: '4.2'
53
+ version: '13.0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: '4.2'
60
+ version: '13.0'
55
61
  - !ruby/object:Gem::Dependency
56
- name: actionpack
62
+ name: minitest
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - "~>"
65
+ - - ">="
60
66
  - !ruby/object:Gem::Version
61
- version: '3.2'
67
+ version: '4.2'
68
+ - - "<"
69
+ - !ruby/object:Gem::Version
70
+ version: '6'
62
71
  type: :development
63
72
  prerelease: false
64
73
  version_requirements: !ruby/object:Gem::Requirement
65
74
  requirements:
66
- - - "~>"
75
+ - - ">="
67
76
  - !ruby/object:Gem::Version
68
- version: '3.2'
69
- description: Provides automatic session timeout in a Rails application.
77
+ version: '4.2'
78
+ - - "<"
79
+ - !ruby/object:Gem::Version
80
+ version: '6'
81
+ description: Automatic session timeout in Rails
70
82
  email:
71
83
  - pelargir@gmail.com
72
84
  executables: []
@@ -74,6 +86,7 @@ extensions: []
74
86
  extra_rdoc_files: []
75
87
  files:
76
88
  - ".gitignore"
89
+ - ".travis.yml"
77
90
  - CHANGELOG
78
91
  - Gemfile
79
92
  - LICENSE.txt
@@ -92,7 +105,7 @@ homepage: http://github.com/pelargir/auto-session-timeout
92
105
  licenses:
93
106
  - MIT
94
107
  metadata: {}
95
- post_install_message:
108
+ post_install_message:
96
109
  rdoc_options: []
97
110
  require_paths:
98
111
  - lib
@@ -107,9 +120,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
120
  - !ruby/object:Gem::Version
108
121
  version: '0'
109
122
  requirements: []
110
- rubyforge_project:
111
- rubygems_version: 2.6.10
112
- signing_key:
123
+ rubygems_version: 3.2.22
124
+ signing_key:
113
125
  specification_version: 4
114
126
  summary: Provides automatic session timeout in a Rails application.
115
127
  test_files: