lib/pupil/base.rb in pupil-0.1.5 vs lib/pupil/base.rb in pupil-0.2.0
- old
+ new
@@ -4,84 +4,27 @@
require "oauth"
require "json"
class Pupil
attr_reader :screen_name
- class UnsupportedParameter < StandardError ; end
class NetworkError < StandardError ; end
TWITTER_API_URL = "http://api.twitter.com"
# @param [Hash] pupil_key
def initialize key
@screen_name = key[:screen_name]
-
+
@consumer = OAuth::Consumer.new(
- key[:consumer_key],
- key[:consumer_secret],
- :site => TWITTER_API_URL
+ key[:consumer_key],
+ key[:consumer_secret],
+ :site => TWITTER_API_URL
)
@access_token = OAuth::AccessToken.new(
- @consumer,
- key[:access_token],
- key[:access_token_secret]
+ @consumer,
+ key[:access_token],
+ key[:access_token_secret]
)
end
-
- # @param [Hash] parameter
- # @return [String] URL Serialized parameters
- def self.param_serializer parameter
- return "" unless parameter.class == Hash
- ant = Hash.new
- parameter.each do |key, value|
- case key.to_sym
- when :include
- if value.class == String || Symbol
- ant[:"include_#{value}"] = :true
- break
- end
-
- value.each do |element|
- raise UnsupportedParameter, "include_entities is not supported." if element.to_sym == :entities
- ant[:"include_#{element}"] = :true
- end
- when :exclude
- if value.class == String || Symbol
- ant[:"exclude_#{value}"] = :true
- break
- end
-
- value.each do |element|
- ant[:"exclude_#{element}"] = :true
- end
- else
- ant[key.to_sym] = value.to_s
- end
- end
- param = ant.inject(""){|k,v|k+"&#{v[0]}=#{URI.escape(v[1])}"}.sub!(/^&/,"?")
- return param ? param : ""
- end
- def param_serializer parameter
- Pupil.param_serializer parameter
- end
-
- def get url, param={}
- param_s = param_serializer(param)
- begin
- response = @access_token.get(url+param_s).body
- rescue => vars
- raise NetworkError, vars
- end
- return JSON.parse(response)
- end
-
- def post url, param={}
- param_s = param_serializer(param)
- begin
- response = @access_token.post(url+param_s).body
- rescue => vars
- raise NetworkError, vars
- end
- return JSON.parse(response)
- end
+ include Essentials
end
\ No newline at end of file