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