lib/rubytter.rb in jugyo-rubytter-0.4.7 vs lib/rubytter.rb in jugyo-rubytter-0.4.8

- old
+ new

@@ -1,28 +1,36 @@ +# -*- coding: utf-8 -*- require 'rubygems' require 'json' require 'net/https' require 'cgi' require 'rubytter/connection' class Rubytter - class APIError < StandardError; end + class APIError < StandardError + attr_reader :response + def initialize(msg, response = nil) + super(msg) + @response = response + end + end APP_NAME = 'Rubytter' - VERSION = '0.4.7' + VERSION = '0.4.8' HOMEPAGE = 'http://github.com/jugyo/rubytter' attr_reader :login attr_accessor :host, :header def initialize(login = nil, password = nil, options = {}) @login = login @password = password @host = options[:host] || 'twitter.com' - @header = options[:header] || {'User-Agent' => "#{APP_NAME}/#{VERSION} (#{HOMEPAGE})"} + @header = {'User-Agent' => "#{APP_NAME}/#{VERSION} (#{HOMEPAGE})"} + @header.merge!(options[:header]) if options[:header] @connection = Connection.new(options) end def self.api_settings # method name path for API http method @@ -124,10 +132,10 @@ struct = json_to_struct(JSON.parse(res.body)) case res.code when "200" struct else - raise APIError, struct.error + raise APIError.new(struct.error, res) end end def create_request(req, basic_auth = true) @header.each {|k, v| req.add_field(k, v) }