class CS::Api
Attributes
uid[RW]
Public Class Methods
new(username, password)
click to toggle source
# File lib/csapi.rb, line 45 def initialize(username, password) @username = username r = HTTP.post('/sessions', body:{username: username, password: password}.to_json) raise CS::APIError.new('Unsupported API version') if r.headers['X-CS-Error'] == 'clientVersionNotSupportedAnymore' raise CS::AuthError.new("Could not login") if r.code != 200 @cookies = [] @cookies=r.headers['Set-Cookie'].split(/;/).first #end data = JSON.parse r.body @uid = data['url'].gsub(/[^\d]/, '') @profile = data.keep_if {|k,v| ['realname', 'username', 'profile_image', 'gender', 'address'].include?(k)} @profile['uid'] = @uid HTTP.headers 'Cookie' => @cookies CS.instance = self end
Public Instance Methods
friends(user=@uid)
click to toggle source
# File lib/csapi.rb, line 118 def friends(user=@uid) url = "/users/#{user}/friends" r = HTTP.get(url) JSON.parse r.body end
message(url)
click to toggle source
# File lib/csapi.rb, line 93 def message(url) r = HTTP.get(url) JSON.parse r.body end
messages(*args)
click to toggle source
# File lib/csapi.rb, line 88 def messages(*args) CS::Messages.getMessages(*args) end
photos(user=@uid)
click to toggle source
# File lib/csapi.rb, line 111 def photos(user=@uid) url = "/users/#{user}/photos" r = HTTP.get(url) JSON.parse r.body end
profile(user=@uid)
click to toggle source
# File lib/csapi.rb, line 104 def profile(user=@uid) url = "/users/#{user}/profile" r = HTTP.get(url) JSON.parse r.body end
references(user=@uid)
click to toggle source
# File lib/csapi.rb, line 125 def references(user=@uid) url = "/users/#{user}/references" r = HTTP.get(url) JSON.parse r.body end
request(id)
click to toggle source
# File lib/csapi.rb, line 81 def request(id) url = "/couchrequests/#{id}" r = HTTP.get(url) JSON.parse r.body end
requests(limit=10)
click to toggle source
# File lib/csapi.rb, line 65 def requests(limit=10) url = "/users/#{@uid}/couchrequests" q = { limit: limit } r = HTTP.get(url, query:q) requests = {} response = JSON.parse r.body response['object'].each do |req| key = req.gsub(/[^\d]/, '') requests[key] = self.request(key) end requests end
search(options)
click to toggle source
# File lib/csapi.rb, line 132 def search(options) defaults = { location: nil, gender: nil, :'has-photo' => nil, :'member-type' => 'host' , vouched: nil, verified: nil, network: nil, :'min-age' => nil, :'max-age' => nil, :platform => 'android' } end
userdata()
click to toggle source
# File lib/csapi.rb, line 99 def userdata @profile end