Sha256: bc677bbef1157ae5e90ce41c98b592312ef26112224e0cffcebcd8b825059d72
Contents?: true
Size: 850 Bytes
Versions: 3
Compression:
Stored size: 850 Bytes
Contents
require "mengpaneel/delayer" module Mengpaneel class Replayer attr_reader :manager def initialize(manager) @manager = manager end def run return unless manager.controller delayed_calls = Delayer.new(manager.controller).load! Manager::MODES.each do |mode| next unless delayed_calls.has_key?(mode) calls = delayed_calls[mode] || [] manager.send(mode) do replay_calls(calls) end end end private def replay_calls(calls) proxy = manager.call_proxy calls.each do |method_names, args| method_name = method_names.pop object = method_names.inject(proxy) { |object, method_name| object.public_send(method_name) } object.public_send(method_name, *args) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mengpaneel-0.0.3 | lib/mengpaneel/replayer.rb |
mengpaneel-0.0.2 | lib/mengpaneel/replayer.rb |
mengpaneel-0.0.1 | lib/mengpaneel/replayer.rb |