Sha256: 9b9ec93b6be6bef04d5e75851686aef5070a0a17b0a1e391d93f07e49f261072
Contents?: true
Size: 1.25 KB
Versions: 13
Compression:
Stored size: 1.25 KB
Contents
module QuickTravel class Party < Adapter LOGIN_URL = '/login.json' attr_reader :phone, :mobile, :email # if has a contact attr_reader :post_code, :country_id # if has an address def initialize(hash = {}) super if type.blank? @type = 'Person' end end self.api_base = '/parties' def self.find_by_login(options) get_and_validate('/parties/find_by_login.json', options) end # Asks QuickTravel to check the credentials # # @returns: Party: Valid Credentials # Nil: Invalid Credentialss def self.login(options = { login: nil, password: nil }) unless options[:login] && options[:password] fail ArgumentError, 'You must specify :login and :password' end response = post_and_validate(LOGIN_URL, options) Party.new(response) unless response[:error] end def self.request_password(login, url) options = { login: login, url: url } post_and_validate('/sessions/request_password_reset', options) end def self.set_password_via_token(token, password) post_and_validate('/sessions/set_password_via_token', token: token, password: password) rescue QuickTravel::AdapterError => e { error: e.message } end end end
Version data entries
13 entries across 13 versions & 1 rubygems