module Elastics::AutoRefresh
Constants
- METHODS
- SKIP_IDS
Public Class Methods
disable!(&block)
click to toggle source
# File lib/elastics/auto_refresh.rb, line 29 def disable!(&block) use(false, &block) end
enable!(&block)
click to toggle source
# File lib/elastics/auto_refresh.rb, line 25 def enable!(&block) use(true, &block) end
enabled=(value)
click to toggle source
# File lib/elastics/auto_refresh.rb, line 11 def enabled=(value) value = !!value Client.send(:include, self) if value && !Client.include?(self) Thread.current[:elastics_test_mode] = value end
enabled?()
click to toggle source
# File lib/elastics/auto_refresh.rb, line 7 def enabled? Thread.current[:elastics_test_mode] end
included(base)
click to toggle source
# File lib/elastics/auto_refresh.rb, line 33 def included(base) base.send :alias_method, :request_without_auto_refresh, :request base.send :alias_method, :request, :request_with_auto_refresh end
use(value) { |: value| ... }
click to toggle source
# File lib/elastics/auto_refresh.rb, line 17 def use(value) old_value = enabled? self.enabled = value block_given? ? yield : value ensure self.enabled = old_value if block_given? end
Public Instance Methods
request_with_auto_refresh(params)
click to toggle source
# File lib/elastics/auto_refresh.rb, line 39 def request_with_auto_refresh(params) request_without_auto_refresh(params).tap do next unless AutoRefresh.enabled? next if SKIP_IDS.include?(params[:id].to_s.downcase) next unless METHODS.include?(params[:method].to_s.downcase) refresh(params[:index]) end end