class Mengpaneel::Manager
Constants
- MODES
Attributes
controller[R]
flushing_strategy[RW]
mode[R]
Public Class Methods
new(controller = nil, &block)
click to toggle source
# File lib/mengpaneel/manager.rb, line 14 def initialize(controller = nil, &block) @controller = controller @mode = :tracking wrap(&block) if block end
Public Instance Methods
all_calls()
click to toggle source
# File lib/mengpaneel/manager.rb, line 43 def all_calls Hash[call_proxies.map { |mode, call_proxy| [mode, call_proxy.all_calls] }] end
before_setup(&block)
click to toggle source
# File lib/mengpaneel/manager.rb, line 62 def before_setup(&block) with_mode(:before_setup, &block) end
call_proxy()
click to toggle source
# File lib/mengpaneel/manager.rb, line 34 def call_proxy call_proxies[@mode] end
Also aliased as: mixpanel
clear_calls(mode = @mode)
click to toggle source
# File lib/mengpaneel/manager.rb, line 39 def clear_calls(mode = @mode) call_proxies.delete(mode) end
flush_calls()
click to toggle source
# File lib/mengpaneel/manager.rb, line 83 def flush_calls Flusher.new(self).run end
replay_delayed_calls()
click to toggle source
# File lib/mengpaneel/manager.rb, line 79 def replay_delayed_calls Replayer.new(self).run end
setup(&block)
click to toggle source
# File lib/mengpaneel/manager.rb, line 66 def setup(&block) clear_calls(:setup) with_mode(:setup, &block) end
setup?()
click to toggle source
# File lib/mengpaneel/manager.rb, line 75 def setup? call_proxies[:setup].all_calls.length > 0 end
tracking(&block)
click to toggle source
# File lib/mengpaneel/manager.rb, line 71 def tracking(&block) with_mode(:tracking, &block) end
with_mode(mode) { |mixpanel| ... }
click to toggle source
# File lib/mengpaneel/manager.rb, line 47 def with_mode(mode, &block) original_mode = @mode @mode = mode begin if block.arity == 1 yield(mixpanel) else yield end ensure @mode = original_mode end end
wrap() { |self| ... }
click to toggle source
# File lib/mengpaneel/manager.rb, line 22 def wrap(&block) replay_delayed_calls if block.arity == 1 yield(self) else yield end ensure flush_calls end
Private Instance Methods
call_proxies()
click to toggle source
# File lib/mengpaneel/manager.rb, line 88 def call_proxies @call_proxies ||= Hash.new { |proxies, mode| proxies[mode] = CallProxy.new } end