class VenmoAPI::User
Attributes
access_token[RW]
data[RW]
expires_in[RW]
refresh_token[RW]
response_type[RW]
token_type[RW]
token_updated[RW]
Public Class Methods
new(obj, response_type)
click to toggle source
# File lib/venmo/user.rb, line 8 def initialize(obj, response_type) self.access_token = obj[:access_token] self.response_type = response_type if response_type == 'code' self.expires_in = obj[:expires_in] self.refresh_token = obj[:refresh_token] self.token_type = obj[:bearer] self.token_updated = Time.now self.data = obj[:user] end VenmoAPI::Helper::recursive_symbolize_keys! self.data validate_properties response_type end
Public Instance Methods
get_friends(options = {})
click to toggle source
# File lib/venmo/user.rb, line 38 def get_friends (options = {}) if options[:id] url = VenmoAPI::Helper::VENMO_BASE_URL + 'users/' + options[:id] + '/friends?access_token=' + self.access_token else if self.data[:user][:id] url = VenmoAPI::Helper::VENMO_BASE_URL + 'users/' + self.data[:user][:id] + '/friends?access_token=' + self.access_token else raise "get_friends must be called with an id if there is no id present on the current user" end end url += options[:before] ? "&before=" + options[:before] : '' url += options[:after] ? "&after=" + options[:after] : '' url += options[:limit] ? "&limit=" + options[:limit] : '' res = Net::HTTP.get(URI(url)) return JSON.parse(res) end
get_info(update = true)
click to toggle source
# File lib/venmo/user.rb, line 31 def get_info(update = true) if update update_info end return self.data end
get_payment(id)
click to toggle source
# File lib/venmo/user.rb, line 66 def get_payment (id) uri = URI(VenmoAPI::Helper::VENMO_BASE_URL + 'payments/' + id.to_s + '?access_token=' + self.access_token) res = Net::HTTP.get(uri) return JSON.parse(res) end
get_recent_payments()
click to toggle source
# File lib/venmo/user.rb, line 72 def get_recent_payments uri = URI(VenmoAPI::Helper::VENMO_BASE_URL + 'payments?access_token=' + self.access_token) res = Net::HTTP.get(uri) return JSON.parse(res) end
get_user(id)
click to toggle source
# File lib/venmo/user.rb, line 55 def get_user(id) uri = URI(VenmoAPI::Helper::VENMO_BASE_URL + 'users/' + id.to_s + '?access_token=' + self.access_token) res = Net::HTTP.get(uri) return JSON.parse(res) end
make_payment(options = {})
click to toggle source
# File lib/venmo/user.rb, line 61 def make_payment (options = {}) payment = Payment.new(options) return payment.send self.access_token end
update_info()
click to toggle source
# File lib/venmo/user.rb, line 22 def update_info uri = URI(VenmoAPI::Helper::VENMO_BASE_URL + 'me?access_token=' + self.access_token) res = Net::HTTP.get(uri) res_data = JSON.parse(res) if res_data["data"] self.data = VenmoAPI::Helper::recursive_symbolize_keys! res_data["data"] end end
Private Instance Methods
validate_properties(response_type)
click to toggle source
# File lib/venmo/user.rb, line 79 def validate_properties (response_type) if !self.access_token raise "Missing access token" elsif !self.expires_in && response_type == 'code' raise "Missing expires_in" elsif !self.refresh_token && response_type == 'code' raise "Missing refresh token" elsif !self.token_updated && response_type == 'code' raise "Missing token_updated" end end