class Ruboty::Handlers::Bundler
Constants
- NAMESPACE
Public Instance Methods
add(message)
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 26 def add(message) if client = client_for(message.from_name) message.reply("Bundler started") gems = Gems.new( gemfile_content: Base64.decode64(client.get("Gemfile")[:content]), gemfile_lock_content: Base64.decode64(client.get("Gemfile.lock")[:content]), ) gems.add(message[:gem_name], version: message[:version]) gemfile_content = GemfileView.new(gems).to_s gemfile_lock_content = Install.new(gemfile_content).call client.update("Gemfile", gemfile_content) client.update("Gemfile.lock", gemfile_lock_content) message.reply("Bundler finished") else message.reply("I don't know your GitHub access token") end rescue Errno::ENOENT message.reply("Failed to add gem") end
delete(message)
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 46 def delete(message) if client = client_for(message.from_name) message.reply("Bundler started") gems = Gems.new( gemfile_content: Base64.decode64(client.get("Gemfile")[:content]), gemfile_lock_content: Base64.decode64(client.get("Gemfile.lock")[:content]), ) gems.delete(message[:gem_name]) gemfile_content = GemfileView.new(gems).to_s gemfile_lock_content = Install.new(gemfile_content).call client.update("Gemfile", gemfile_content) client.update("Gemfile.lock", gemfile_lock_content) message.reply("Bundler finished") else message.reply("I don't know your GitHub access token") end rescue GemNotFound message.reply("Gem not found") rescue Errno::ENOENT message.reply("Failed to delete gem") end
Private Instance Methods
access_tokens_table()
click to toggle source
@return [Hash]
# File lib/ruboty/handlers/bundler.rb, line 71 def access_tokens_table robot.brain.data[NAMESPACE] ||= {} end
client_for(username)
click to toggle source
@param username [String, nil] @return [Ruboty::Bundler::Client, nil]
# File lib/ruboty/handlers/bundler.rb, line 77 def client_for(username) if access_token = access_tokens_table[username] Client.new(access_token: access_token) end end