lib/chicanery.rb in chicanery-0.0.7 vs lib/chicanery.rb in chicanery-0.0.8

- old
+ new

@@ -14,33 +14,30 @@ include Persistence include Collections include Handlers include StateComparison - VERSION = "0.0.7" + VERSION = "0.0.8" - def execute args - load args.shift - poll_period = args.shift - if poll_period - run_every poll_period.to_i - else - run - end + def poll_period seconds=nil + @poll_period = seconds if seconds + @poll_period end - def run_every poll_period + def execute args + load args.shift begin loop do run + break unless poll_period sleep poll_period end rescue Interrupt end end - def run + def run previous_state = restore current_state = { servers: {}, repos: {} } @@ -53,10 +50,10 @@ current_jobs = server.jobs compare_jobs current_jobs, previous_state[:servers][server.name] if previous_state[:servers] current_state[:servers][server.name] = current_jobs end current_state.extend Chicanery::Summary - run_handlers.each {|handler| handler.call current_state } - persist current_state + run_handlers.each {|handler| handler.call current_state, previous_state } + persist current_state end end \ No newline at end of file