class Picturelife::Api
Public Class Methods
call(uri, args = nil)
click to toggle source
# File lib/picturelife/api.rb, line 8 def call(uri, args = nil) needs_token! api_get(build_uri(uri, args)) end
Private Class Methods
api_get(uri)
click to toggle source
# File lib/picturelife/api.rb, line 28 def api_get(uri) uri = URI(URI.encode(uri)) response = Net::HTTP.get(uri) response = parse_response(response) raise ApiError.new(response["status"], response["error"], response) if (response["status"] != 20000 && response["status"] != 200) response end
build_parameters(args = nil)
click to toggle source
# File lib/picturelife/api.rb, line 20 def build_parameters(args = nil) args = {} if args.nil? args.merge!(access_token: Picturelife.access_token) return ['?', URI.encode_www_form(args)].join end
build_uri(uri, args = nil)
click to toggle source
# File lib/picturelife/api.rb, line 16 def build_uri(uri, args = nil) [API_ENDPOINT, uri, build_parameters(args)].join end
parse_response(string)
click to toggle source
# File lib/picturelife/api.rb, line 36 def parse_response(string) error_response = { 'status' => -1, 'error' => string.to_s } JSON.parse(response) rescue error_response end