b0VIM 7.34P*litelte-rb~lite/work/muzang-plugins/lib/muzang-plugins/muzang-rubygems.rbutf-8 3210#"! UtpZadRZpoYJtVU9 &  k [  g " i _ W V $  | r j i C ' s;lZ$S?wqpc\VRHeeeeeeeeeeeeeeeeeeeeend end 30 def period end end end end } end rescue end connection.msg(message.channel, "New version #{gem[:name]} (#{current_gem["version"]})") end @store[:gems][gem[:name]][:version] = current_gem["version"] @store.transaction do if Gem::Version.new(gem[:version]) < Gem::Version.new(current_gem["version"]) current_gem = JSON.parse(http.response) begin iter.next http.callback { http = EventMachine::HttpRequest.new("http://rubygems.org/api/v1/gems/#{gem[:name]}.json").get EM::Iterator.new(gems, 1).each do |gem, iter| gems = @store.transaction{@store[:gems].values} EventMachine.add_periodic_timer(period) do on_join(connection, message) do end end connection.msg(message.channel, "#{@store[:gems].keys.join(', ')}") @store.transaction do match(message, /^!cojapacze$/) do end end end connection.msg(message.channel, "I removed gem #{match[1]} from watchlist") if @store[:gems].delete(match[1]) @store.transaction do match(message, /^!unwatch (.*?)$/) do |match| end end connection.msg(message.channel, "Gem #{@current_gem} is already observed") else } end @store.transaction{@store[:gems].delete(@current_gem)} connection.msg(message.channel, "Gem name is incorrect") rescue Exception @new_gem = false connection.msg(message.channel, "Current version: #{@current_gem} (#{gem["version"]})") connection.msg(message.channel, "I added gem #{@current_gem} to watchlist") end @store[:gems][@current_gem][:version] = gem["version"] @store.transaction do gem = JSON.parse(http.response) begin http.callback { http = EventMachine::HttpRequest.new("http://rubygems.org/api/v1/gems/#{@current_gem}.json").get if @new_gem end end @new_gem = true @store[:gems][match[1]] = {:name => @current_gem} unless @store[:gems][@current_gem] @store.transaction do @current_gem = match[1] match(message, /^!watch (.*?)$/) do |match| def call(connection, message) end end @store[:gems] ||= {} @store.transaction do @store = PStore.new("#{ENV["HOME"]}/.muzang/muzang.rubygems") @bot = bot def initialize(bot) attr_accessor :last_gem, :store include Muzang::Plugins::Helpersclass RubyGemsrequire "pstore"require "json"require "em-http-request"