Sha256: 3a20f41d236afa025288dea5e6387fdc8d3c3e2b96ee17d95ed5357d5019d74d
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
require 'rest_client' require 'crack/xml' require 'rufus/scheduler' require 'snarl' if RUBY_PLATFORM =~ /mswin|mingw|win32/ class Kilt include Crack attr_reader :id ICON = File.expand_path(File.join(File.dirname(__FILE__), '..', 'img', 'pivotal.png')) def self.init(token) new token end def update activities = fetch_activities activities.reverse.each do |activity| if activity['id'] > @id.to_i notify_about activity['description'] end end update_id_from activities end protected def initialize(token) @token = token update_id_from fetch_activities Rufus::Scheduler.start_new.every('30s') { update } end private def update_id_from(activities) @id = activities.first['id'].to_s end def fetch_activities return XML.parse(RestClient.get("http://www.pivotaltracker.com/services/v3/activities?limit=10", 'X-TrackerToken' => @token).body)['activities'] end def notify_about(message) title = 'Pivotal Tracker' case RUBY_PLATFORM when /linux/ system "notify-send '#{title}' '#{message}' --icon #{Kilt::ICON}" when /darwin/ system "growlnotify -t '#{title}' -m '#{message}' --image #{Kilt::ICON}" when /mswin|mingw|win32/ Snarl.show_message title, message, Kilt::ICON end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kilt-0.5.1 | lib/kilt.rb |
kilt-0.5.0 | lib/kilt.rb |