goma 0.0.1.rc1 → 0.0.1.rc2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5ef7018f710a582f625d31c0933a64ca21c04ae6
4
- data.tar.gz: f74640b684a0feaef3146ff6ab537e46c7009b8b
3
+ metadata.gz: 0d6099fa064157ae214f3a611bc179f97732ea87
4
+ data.tar.gz: 5e9b12ea1433741c58da4a6b9abe08e7c4b320d9
5
5
  SHA512:
6
- metadata.gz: 9d68a65ac82a574ab10110551e453aee53dac951d96c4cdee43822e47b86231fb554615635d1449ef690a5124f3a5f80afc8cd29fcd57ad2ac8f9e847639a9e8
7
- data.tar.gz: a2f9662edacd4404694af19493b9e626319ee4fbe985c7c7fb3c8f05d07275f966dcebb56ab3212c021054ee1cd5009f3e275440c5826f19904776d78f1bf7dd
6
+ metadata.gz: 73a52d5b437db21c532f16b6179cc3a163ebac83ae496657337b24b58351e0985b7cab88d49663d0450c1bd443093e3f7542a52423340b20fb85957dd21b1425
7
+ data.tar.gz: 0d62cf55a2bc7df0c209722eb3ae7e3347ea5b82b7ee549fd25dba5d16841a8d56480a8925fe84b921760352b76944cce87d0afaf50028d7eee7ea9d45631713
data/.travis.yml CHANGED
@@ -5,4 +5,7 @@ rvm:
5
5
  gemfile:
6
6
  - Gemfile
7
7
  script: 'bundle exec rake test'
8
-
8
+ env:
9
+ matrix:
10
+ - VALIDATE_SESSION_EVEN_IN_NOT_LOGIN_AREA=true
11
+ - VALIDATE_SESSION_EVEN_IN_NOT_LOGIN_AREA=false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- goma (0.0.1.rc1)
4
+ goma (0.0.1.rc2)
5
5
  rails (~> 4.0)
6
6
  warden
7
7
 
data/Rakefile CHANGED
@@ -44,4 +44,10 @@ task "rebuild_test_app" do
44
44
  cd "../.."
45
45
  end
46
46
 
47
+ desc "Run tests for all environment variables"
48
+ task "test_all" do
49
+ sh "VALIDATE_SESSION_EVEN_IN_NOT_LOGIN_AREA=true bundle exec rake test"
50
+ sh "VALIDATE_SESSION_EVEN_IN_NOT_LOGIN_AREA=false bundle exec rake test"
51
+ end
52
+
47
53
  task default: :test
data/goma.gemspec CHANGED
@@ -49,11 +49,6 @@ That's it.
49
49
  This gem is in early development phase and I do not recommend you to use this for production for a while.
50
50
  Bug reports and pull requests are welcome.
51
51
 
52
- I am surprised that this gem has been downloaded over 200 times, in spite of pre release versions of v0.0.1.
53
- And, I feel bad about there were lots of bugs and incomplete implementations in previous versions.
54
-
55
- I will release this as a release candidate, but will add lots of code before v0.0.1.
56
-
57
52
  Enjoy!\e[0m
58
53
  MESSAGE
59
54
 
data/lib/goma/config.rb CHANGED
@@ -4,12 +4,12 @@ module Goma
4
4
  yield @config ||= Goma::Configuration.new
5
5
  end
6
6
 
7
- def config
8
- @config
7
+ def config(scope=nil)
8
+ scope ? (config_for[scope] || @config) : @config
9
9
  end
10
10
 
11
11
  def configure_for(scope, &block)
12
- yield config_for[scope] = config.dup
12
+ yield config_for[scope] = @config.dup
13
13
  end
14
14
 
15
15
  def config_for
@@ -24,7 +24,6 @@ module Goma
24
24
 
25
25
  def initialize(*args)
26
26
  super
27
- @email_confirmation_setup = false
28
27
  @skip_email_confirmation = false
29
28
 
30
29
  # Following instance variables are not used by this library.
@@ -84,7 +83,8 @@ module Goma
84
83
  end
85
84
 
86
85
  def send_email_confirmation_needed_email?
87
- @email_confirmation_setup && goma_config.email_confirmation_needed_email_method_name && !@skip_email_confirmation_needed_email
86
+ send(goma_config.unconfirmed_email_changed_getter) && send(goma_config.unconfirmed_email_getter) &&
87
+ goma_config.email_confirmation_needed_email_method_name && !@skip_email_confirmation_needed_email
88
88
  end
89
89
 
90
90
  def send_email_confirmation_success_email?
@@ -113,7 +113,6 @@ module Goma
113
113
  def setup_email_confirmation
114
114
  self.send(Goma.config.unconfirmed_email_setter, self.send(Goma.config.email_getter))
115
115
  self.send(Goma.config.email_setter, self.send(Goma.config.email_was_getter))
116
- @email_confirmation_setup = true
117
116
 
118
117
  generate_confirmation_token
119
118
  end
@@ -53,6 +53,7 @@ module Goma
53
53
  self.send(goma_config.locked_at_setter, nil)
54
54
  self.send(goma_config.failed_attempts_setter, 0)
55
55
  self.send(goma_config.unlock_token_setter, nil)
56
+ self.send(goma_config.unlock_token_sent_at_setter, nil)
56
57
  save(validate: false)
57
58
  end
58
59
 
@@ -23,12 +23,14 @@ module Goma
23
23
  fill_with_omniauth(omniauth) if respond_to? :fill_with_omniauth
24
24
  end
25
25
  RUBY
26
+
27
+ attr_accessor :creating_with_omniauth
26
28
  end
27
29
 
28
30
  module ClassMethods
29
- def create_with_omniauth!(omniauth)
30
- @creating_with_omniauth = true
31
+ def build_with_omniauth!(omniauth)
31
32
  record = new
33
+ record.creating_with_omniauth = true
32
34
  if goma_config.modules.include? :confirmable
33
35
  record.send(goma_config.activated_at_setter, Time.now.utc)
34
36
  end
@@ -36,8 +38,13 @@ module Goma
36
38
 
37
39
  authentication = record.send(goma_config.oauth_association_name).build
38
40
  authentication._fill_with_omniauth(omniauth)
41
+ record
42
+ end
39
43
 
44
+ def create_with_omniauth!(omniauth)
45
+ record = build_with_omniauth!(omniauth)
40
46
  record.save!
47
+ record.creating_with_omniauth = false
41
48
  record
42
49
  end
43
50
 
@@ -9,8 +9,8 @@ module Goma
9
9
 
10
10
  class_eval <<-METHOD, __FILE__, __LINE__ + 1
11
11
  def #{password_attr}=(new_#{password_attr})
12
- return if new_#{password_attr}.blank?
13
12
  @#{password_attr} = new_#{password_attr}
13
+ return if new_#{password_attr}.blank?
14
14
  self.#{Goma.config.encrypted_password_attribute_name} = encrypt_password(new_#{password_attr})
15
15
  end
16
16
  METHOD
@@ -2,7 +2,7 @@ module Goma
2
2
  module Models
3
3
  module Timeoutable
4
4
  def timeout?(last_request_at)
5
- false if remember_exists_and_not_expired?
5
+ return false if remember_exists_and_not_expired?
6
6
  goma_config.timeout_in && last_request_at && last_request_at <= goma_config.timeout_in.ago
7
7
  end
8
8
 
@@ -32,9 +32,9 @@ module Goma
32
32
  end
33
33
 
34
34
  validates_presence_of goma_config.password_attribute_name, if: :password_required?
35
- validates_confirmation_of goma_config.password_attribute_name, if: :password_required?
36
35
  validates_length_of goma_config.password_attribute_name,
37
36
  within: goma_config.password_length, allow_blank: true
37
+ validates_confirmation_of goma_config.password_attribute_name
38
38
 
39
39
  if omniauthable?
40
40
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
data/lib/goma/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Goma
2
- VERSION = "0.0.1.rc1"
2
+ VERSION = "0.0.1.rc2"
3
3
  end
@@ -0,0 +1,4 @@
1
+ Fabricator(:authentication) do
2
+ provider 'developer'
3
+ uid { sequence(:uid, 11111111) { |i| i.to_s } }
4
+ end
@@ -9,3 +9,11 @@ end
9
9
  Fabricator(:unactivated_user, from: :user) do
10
10
  activated_at nil
11
11
  end
12
+
13
+ Fabricator(:oauth_user, from: :user) do
14
+ username nil
15
+ email nil
16
+ password nil
17
+ password_confirmation nil
18
+ authentications(count: 1) { Fabricate(:authentication) }
19
+ end
@@ -48,7 +48,7 @@ class ConfirmableIntegrationTest < ActionDispatch::IntegrationTest
48
48
  fill_in :user_password_confirmation, with: 'password'
49
49
 
50
50
  assert_no_difference 'User.count' do
51
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
51
+ assert_emails 1 do
52
52
  click_button 'Sign up'
53
53
  end
54
54
  end
@@ -101,7 +101,7 @@ class ConfirmableIntegrationTest < ActionDispatch::IntegrationTest
101
101
  fill_in :username_or_email, with: 'user'
102
102
 
103
103
  assert_no_difference 'User.count' do
104
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
104
+ assert_emails 1 do
105
105
  click_button 'Resend activation instructions'
106
106
  end
107
107
  end
@@ -132,7 +132,7 @@ class ConfirmableIntegrationTest < ActionDispatch::IntegrationTest
132
132
  fill_in :username_or_email, with: 'user@example.com'
133
133
 
134
134
  assert_no_difference 'User.count' do
135
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
135
+ assert_emails 1 do
136
136
  click_button 'Resend activation instructions'
137
137
  end
138
138
  end
@@ -159,7 +159,7 @@ class ConfirmableIntegrationTest < ActionDispatch::IntegrationTest
159
159
  visit edit_user_url(user)
160
160
  fill_in :user_email, with: 'new@example.com'
161
161
 
162
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
162
+ assert_emails 1 do
163
163
  click_button 'Update'
164
164
  end
165
165
  assert_match /but we need to verify your new email address/, _flash[:notice]
@@ -171,7 +171,7 @@ class ConfirmableIntegrationTest < ActionDispatch::IntegrationTest
171
171
  assert_equal 'old@example.com', user.email
172
172
  assert_equal 'new@example.com', user.unconfirmed_email
173
173
 
174
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
174
+ assert_emails 1 do
175
175
  visit email_confirmation_url('sesame')
176
176
  end
177
177
  email = ActionMailer::Base.deliveries.last
@@ -30,7 +30,7 @@ class LockableIntegrationTest < ActionDispatch::IntegrationTest
30
30
 
31
31
  visit new_unlock_url
32
32
  fill_in :username_or_email, with: @user.email
33
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
33
+ assert_emails 1 do
34
34
  click_button 'Resend unlock instructions'
35
35
  end
36
36
  email = ActionMailer::Base.deliveries.last
@@ -9,7 +9,7 @@ class RecoverableIntegrationTest < ActionDispatch::IntegrationTest
9
9
  Goma.token_generator.stubs(:friendly_token).returns('sesame')
10
10
  visit new_password_url
11
11
  fill_in :username_or_email, with: @user.email
12
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
12
+ assert_emails 1 do
13
13
  click_button 'Send me reset password instructions'
14
14
  end
15
15
 
@@ -31,7 +31,7 @@ class RecoverableIntegrationTest < ActionDispatch::IntegrationTest
31
31
  Goma.token_generator.stubs(:friendly_token).returns('sesame')
32
32
  visit new_password_url
33
33
  fill_in :username_or_email, with: @user.email
34
- assert_difference 'ActionMailer::Base.deliveries.size', 1 do
34
+ assert_emails 1 do
35
35
  click_button 'Send me reset password instructions'
36
36
  end
37
37
 
@@ -1,201 +1,201 @@
1
1
  require 'test_helper'
2
2
 
3
- class TimeoutableIntegrationTest < ActionDispatch::IntegrationTest
4
- def setup
5
- @user = Fabricate(:user)
6
- post 'session', username_or_email: @user.email, password: 'password'
7
- end
3
+ if ENV['VALIDATE_SESSION_EVEN_IN_NOT_LOGIN_AREA'] == 'true'
4
+ class TimeoutableIntegrationTest < ActionDispatch::IntegrationTest
5
+ def setup
6
+ @user = Fabricate(:user)
7
+ post 'session', username_or_email: @user.email, password: 'password'
8
+ end
8
9
 
9
- test "should set goma.last_request_at immediately after login" do
10
- assert request.env['warden'].session(:user)['goma.last_request_at']
10
+ test "should set goma.last_request_at immediately after login" do
11
+ assert request.env['warden'].session(:user)['goma.last_request_at']
11
12
 
12
- Timecop.freeze 30.minutes.from_now
13
- get 'secret/index'
14
- assert_redirected_to root_url
13
+ Timecop.freeze 30.minutes.from_now
14
+ get 'secret/index'
15
+ assert_redirected_to root_url
15
16
 
16
- Timecop.return
17
- end
17
+ Timecop.return
18
+ end
18
19
 
19
- test "should timeout" do
20
- Timecop.freeze Time.now
21
- get 'secret/index'
20
+ test "should timeout" do
21
+ Timecop.freeze Time.now
22
+ get 'secret/index'
22
23
 
23
- Timecop.freeze 29.minutes.from_now
24
- get 'secret/index'
25
- assert_response :success
24
+ Timecop.freeze 29.minutes.from_now
25
+ get 'secret/index'
26
+ assert_response :success
26
27
 
27
- Timecop.freeze 30.minutes.from_now
28
- get 'secret/index'
29
- assert_redirected_to root_url
28
+ Timecop.freeze 30.minutes.from_now
29
+ get 'secret/index'
30
+ assert_redirected_to root_url
30
31
 
31
- Timecop.return
32
- end
32
+ Timecop.return
33
+ end
33
34
 
34
- test "should not timeout if accessed a page which does not require login" do
35
- Timecop.freeze Time.now
36
- get 'secret/index'
35
+ test "should not timeout if accessed a page which does not require login" do
36
+ Timecop.freeze Time.now
37
+ get 'secret/index'
37
38
 
38
- Timecop.freeze 20.minutes.from_now
39
- get '/'
40
- assert_response :success
39
+ Timecop.freeze 20.minutes.from_now
40
+ get '/'
41
+ assert_response :success
41
42
 
42
- Timecop.freeze 20.minutes.from_now
43
- get 'secret/index'
44
- assert_response :success
43
+ Timecop.freeze 20.minutes.from_now
44
+ get 'secret/index'
45
+ assert_response :success
45
46
 
46
- Timecop.return
47
- end
47
+ Timecop.return
48
+ end
48
49
 
49
- test "should timeout if accessing skip_trackabled action" do
50
- Timecop.freeze Time.now
51
- get 'secret/index'
50
+ test "should timeout if accessing skip_trackabled action" do
51
+ Timecop.freeze Time.now
52
+ get 'secret/index'
52
53
 
53
- Timecop.freeze 20.minutes.from_now
54
- get 'secret/not_track'
55
- assert_response :success
54
+ Timecop.freeze 20.minutes.from_now
55
+ get 'secret/not_track'
56
+ assert_response :success
56
57
 
57
- Timecop.freeze 20.minutes.from_now
58
- get 'secret/not_track'
59
- assert_redirected_to root_url
58
+ Timecop.freeze 20.minutes.from_now
59
+ get 'secret/not_track'
60
+ assert_redirected_to root_url
60
61
 
61
- Timecop.return
62
- end
62
+ Timecop.return
63
+ end
64
+
65
+ test "should not timeout but update last_request_at by accessing skip_timeout action" do
66
+ Timecop.freeze Time.now
67
+ get 'secret/index'
68
+
69
+ Timecop.freeze 60.minutes.from_now
70
+ get 'secret/not_timeout'
71
+ assert_response :success
72
+
73
+ Timecop.freeze 29.minutes.from_now
74
+ get 'secret/index'
75
+ assert_response :success
63
76
 
64
- test "should not timeout but update last_request_at by accessing skip_timeout action" do
65
- Timecop.freeze Time.now
66
- get 'secret/index'
77
+ Timecop.freeze 60.minutes.from_now
78
+ get 'secret/not_timeout'
79
+ assert_response :success
67
80
 
68
- Timecop.freeze 60.minutes.from_now
69
- get 'secret/not_timeout'
70
- assert_response :success
81
+ Timecop.freeze 30.minutes.from_now
82
+ get 'secret/index'
83
+ assert_redirected_to root_url
71
84
 
72
- Timecop.freeze 29.minutes.from_now
73
- get 'secret/index'
74
- assert_response :success
85
+ Timecop.return
86
+ end
75
87
 
76
- Timecop.freeze 60.minutes.from_now
77
- get 'secret/not_timeout'
78
- assert_response :success
88
+ test "should not timeout nor update last_request_at by accessing skip_validate_session action" do
89
+ Timecop.freeze Time.now
90
+ get 'secret/index'
79
91
 
80
- Timecop.freeze 30.minutes.from_now
81
- get 'secret/index'
82
- assert_redirected_to root_url
92
+ Timecop.freeze 60.minutes.from_now
93
+ get 'secret/not_validate_session'
94
+ assert_response :success
83
95
 
84
- Timecop.return
96
+ get 'secret/index'
97
+ assert_redirected_to root_url
98
+
99
+ Timecop.return
100
+ end
85
101
  end
102
+ else
103
+ class TimeoutableIntegrationTest < ActionDispatch::IntegrationTest
104
+ def setup
105
+ @user = Fabricate(:user)
106
+ post 'session', username_or_email: @user.email, password: 'password'
107
+ end
108
+
109
+ test "should set goma.last_request_at immediately after login" do
110
+ assert request.env['warden'].session(:user)['goma.last_request_at']
111
+
112
+ Timecop.freeze 30.minutes.from_now
113
+ get 'secret/index'
114
+ assert_redirected_to root_url
115
+
116
+ Timecop.return
117
+ end
118
+
119
+ test "should timeout" do
120
+ Timecop.freeze Time.now
121
+ get 'secret/index'
122
+
123
+ Timecop.freeze 29.minutes.from_now
124
+ get 'secret/index'
125
+ assert_response :success
126
+
127
+ Timecop.freeze 30.minutes.from_now
128
+ get 'secret/index'
129
+ assert_redirected_to root_url
130
+
131
+ Timecop.return
132
+ end
86
133
 
87
- test "should not timeout nor update last_request_at by accessing skip_validate_session action" do
88
- Timecop.freeze Time.now
89
- get 'secret/index'
134
+ test "should timeout if accessed a page which does not require login" do
135
+ Timecop.freeze Time.now
136
+ get 'secret/index'
90
137
 
91
- Timecop.freeze 60.minutes.from_now
92
- get 'secret/not_validate_session'
93
- assert_response :success
138
+ Timecop.freeze 20.minutes.from_now
139
+ get '/'
140
+ assert_response :success
94
141
 
95
- get 'secret/index'
96
- assert_redirected_to root_url
142
+ Timecop.freeze 20.minutes.from_now
143
+ get 'secret/index'
144
+ assert_redirected_to root_url
97
145
 
98
- Timecop.return
146
+ Timecop.return
147
+ end
148
+
149
+ test "should timeout if accessing skip_trackabled action" do
150
+ Timecop.freeze Time.now
151
+ get 'secret/index'
152
+
153
+ Timecop.freeze 20.minutes.from_now
154
+ get 'secret/not_track'
155
+ assert_response :success
156
+
157
+ Timecop.freeze 20.minutes.from_now
158
+ get 'secret/not_track'
159
+ assert_redirected_to root_url
160
+
161
+ Timecop.return
162
+ end
163
+
164
+ test "should not timeout but update last_request_at by accessing skip_timeout action" do
165
+ Timecop.freeze Time.now
166
+ get 'secret/index'
167
+
168
+ Timecop.freeze 60.minutes.from_now
169
+ get 'secret/not_timeout'
170
+ assert_response :success
171
+
172
+ Timecop.freeze 29.minutes.from_now
173
+ get 'secret/index'
174
+ assert_response :success
175
+
176
+ Timecop.freeze 60.minutes.from_now
177
+ get 'secret/not_timeout'
178
+ assert_response :success
179
+
180
+ Timecop.freeze 30.minutes.from_now
181
+ get 'secret/index'
182
+ assert_redirected_to root_url
183
+
184
+ Timecop.return
185
+ end
186
+
187
+ test "should not timeout nor update last_request_at by accessing skip_validate_session action" do
188
+ Timecop.freeze Time.now
189
+ get 'secret/index'
190
+
191
+ Timecop.freeze 60.minutes.from_now
192
+ get 'secret/not_validate_session'
193
+ assert_response :success
194
+
195
+ get 'secret/index'
196
+ assert_redirected_to root_url
197
+
198
+ Timecop.return
199
+ end
99
200
  end
100
201
  end
101
-
102
- # uninclude Module has not yet correctly implemented.
103
- # Therefore, omit following test
104
- #
105
- # class TimeoutableDoNotValidateSessionInNotLoginAreaTest < ActionDispatch::IntegrationTest
106
- # def setup
107
- # # Goma.config.validate_session_even_in_not_login_area = false
108
- # # reinclude_timeout_module
109
- # @user = Fabricate(:user)
110
- # post 'session', username_or_email: @user.email, password: 'password'
111
- # end
112
- # #
113
- # # def teardown
114
- # # Goma.config.validate_session_even_in_not_login_area = true
115
- # # reinclude_timeout_module
116
- # # end
117
- #
118
- # test "should timeout if accessed a page which does not require login" do
119
- # Timecop.freeze Time.now
120
- # get 'secret/index'
121
- #
122
- # Timecop.freeze 20.minutes.from_now
123
- # get '/'
124
- # assert_response :success
125
- #
126
- # Timecop.freeze 20.minutes.from_now
127
- # get 'secret/index'
128
- # assert_redirected_to root_url
129
- #
130
- # Timecop.return
131
- # end
132
- #
133
- # test "should timeout if accessing skip_trackabled action" do
134
- # Timecop.freeze Time.now
135
- # get 'secret/index'
136
- #
137
- # Timecop.freeze 20.minutes.from_now
138
- # get 'secret/not_track'
139
- # assert_response :success
140
- #
141
- # Timecop.freeze 20.minutes.from_now
142
- # get 'secret/not_track'
143
- # assert_redirected_to root_url
144
- #
145
- # Timecop.return
146
- # end
147
- #
148
- # test "should not timeout but update last_request_at by accessing skip_timeout action" do
149
- # Timecop.freeze Time.now
150
- # get 'secret/index'
151
- #
152
- # Timecop.freeze 60.minutes.from_now
153
- # get 'secret/not_timeout'
154
- # assert_response :success
155
- #
156
- # Timecop.freeze 29.minutes.from_now
157
- # get 'secret/index'
158
- # assert_response :success
159
- #
160
- # Timecop.freeze 60.minutes.from_now
161
- # get 'secret/not_timeout'
162
- # assert_response :success
163
- #
164
- # Timecop.freeze 30.minutes.from_now
165
- # get 'secret/index'
166
- # assert_redirected_to root_url
167
- #
168
- # Timecop.return
169
- # end
170
- #
171
- # test "should not timeout nor update last_request_at by accessing skip_validate_session action" do
172
- # Timecop.freeze Time.now
173
- # get 'secret/index'
174
- #
175
- # Timecop.freeze 60.minutes.from_now
176
- # get 'secret/not_validate_session'
177
- # assert_response :success
178
- #
179
- # get 'secret/index'
180
- # assert_redirected_to root_url
181
- #
182
- # Timecop.return
183
- # end
184
- #
185
- # private
186
- # def reinclude_timeout_module
187
- # ActionController::Base.send :uninclude, Goma::Controllers::Timeoutable
188
- # ActionController::Base.send :unextend, Goma::Controllers::Timeoutable::ClassMethods
189
- # # ActionController::Base.class_eval{ skip_filter :validate_session }
190
- # # SecretController.class_eval{ skip_filter :validate_session }
191
- # SecretController.class_eval do
192
- # _process_action_callbacks.reject! do |callback|
193
- # callback.filter == :validate_session ||
194
- # callback.filter == :skip_timeout ||
195
- # callback.filter == :skip_validate_session
196
- # end
197
- # end
198
- # load File.expand_path('../../../lib/goma/controllers/timeoutable.rb', __FILE__)
199
- # ActionController::Base.send :include, Goma::Controllers::Timeoutable
200
- # end
201
- # end