class Campfire::Bot
Public Class Methods
new()
click to toggle source
# File lib/pagerduty_tools/campfire.rb, line 41 def initialize # TODO: make sure that the file is there and that all the keys are, too. config = YAML.load_file(File.expand_path(CONFIG_FILE)) @uri = URI.parse config["site"] @room = config["room"] @token = config["token"] @pass = 'x' @http = Net::HTTP.new(@uri.host, @uri.port) @http.use_ssl = true @http.ca_file = File.expand_path(CA_FILE) @http.verify_mode = OpenSSL::SSL::VERIFY_PEER end
Public Instance Methods
paste(body)
click to toggle source
# File lib/pagerduty_tools/campfire.rb, line 65 def paste(body) request = Net::HTTP::Post.new("/room/#{@room}/speak.xml") message = Nokogiri::XML::Builder.new do |xml| xml.message { xml.type_ "PasteMessage" xml.body body } end return do_request(request, message.to_xml) end
topic(topic)
click to toggle source
# File lib/pagerduty_tools/campfire.rb, line 55 def topic(topic) request = Net::HTTP::Put.new "/room/#{@room}.xml" message = Nokogiri::XML::Builder.new do |xml| xml.room { xml.topic topic } end return do_request(request, message.to_xml) end
Private Instance Methods
do_request(request, message)
click to toggle source
# File lib/pagerduty_tools/campfire.rb, line 78 def do_request(request, message) @http.start do |connection| request['Content-Type'] = 'application/xml' request.basic_auth @token, @pass return connection.request(request, message) end end