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) }