File tree 6 files changed +20
-6
lines changed
lib/rails/observers/action_controller/caching
6 files changed +20
-6
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ source 'https://rubygems.org'
2
2
3
3
# Specify your gem's dependencies in active_record-observers.gemspec
4
4
gemspec
5
+ gem "minitest" , "~> 5.8.4"
5
6
gem 'rails' , github : 'rails/rails' , branch : '5-1-stable'
6
7
gem 'activeresource' , github : 'rails/activeresource'
7
8
Original file line number Diff line number Diff line change 1
1
source "https://rubygems.org"
2
2
3
3
gem "mocha", require: false
4
+ gem "minitest", "~> 5.8.4"
4
5
gem "rails", "~> 4.2.0"
5
6
6
7
gemspec path: "../"
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ source "https://rubygems.org"
2
2
3
3
# Specify your gem"s dependencies in active_record-observers.gemspec
4
4
gem "rails", github: "rails/rails", branch: "5-0-stable"
5
+ gem "minitest", "~> 5.8.4"
5
6
gem "activeresource", github: "rails/activeresource"
6
7
7
8
gem "mocha", require: false
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ source "https://rubygems.org"
2
2
3
3
# Specify your gem"s dependencies in active_record-observers.gemspec
4
4
gem "rails", github: "rails/rails"
5
+ gem "minitest", "~> 5.8.4"
5
6
gem "activeresource", github: "rails/activeresource"
6
7
7
8
gem "mocha", require: false
Original file line number Diff line number Diff line change 1
1
module ActionController #:nodoc:
2
2
module Caching
3
3
class Sweeper < ActiveRecord ::Observer #:nodoc:
4
- attr_accessor :controller
5
-
6
4
def initialize ( *args )
7
5
super
8
- @controller = nil
6
+ self . controller = nil
7
+ end
8
+
9
+ def controller
10
+ Thread . current [ "observer:#{ self . class . name } _controller" ]
11
+ end
12
+
13
+ def controller = ( controller )
14
+ Thread . current [ "observer:#{ self . class . name } _controller" ] = controller
9
15
end
10
16
11
17
def before ( controller )
@@ -53,8 +59,12 @@ def callback(timing)
53
59
end
54
60
55
61
def method_missing ( method , *arguments , &block )
56
- return super unless @controller
57
- @controller . __send__ ( method , *arguments , &block )
62
+ return super if controller . nil?
63
+ controller . __send__ ( method , *arguments , &block )
64
+ end
65
+
66
+ def respond_to_missing? ( method , include_private = false )
67
+ ( controller . present? && controller . respond_to? ( method ) ) || super
58
68
end
59
69
end
60
70
end
Original file line number Diff line number Diff line change 1
1
require 'minitest/autorun'
2
- require 'mocha/mini_test '
2
+ require 'mocha/minitest '
3
3
require 'active_record'
4
4
require 'rails'
5
5
require 'rails/observers/activerecord/active_record'
You can’t perform that action at this time.
0 commit comments