Class: CheckoutRu::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/checkout_ru/session.rb

Constant Summary collapse

INVALID_TICKET_RESPONSE_MATCHER =

Checkout.ru changed (broke) invalid ticket responses a few times. This matcher reflects all varieties of them.

%r{
  (?:is\s+expired\s+or\s+invalid|     # old working style
   Сервис\s+временно\s+не\s+доступен) # broken style as of 10-06-14
}x.freeze
TICKET_ERROR_RESPONSE_STATUSES =
[400, 500].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ticket) ⇒ Session



21
22
23
# File 'lib/checkout_ru/session.rb', line 21

def initialize(ticket)
  @ticket = ticket
end

Instance Attribute Details

#ticketObject (readonly)

Returns the value of attribute ticket.



19
20
21
# File 'lib/checkout_ru/session.rb', line 19

def ticket
  @ticket
end

Class Method Details

.initiateObject



13
14
15
16
# File 'lib/checkout_ru/session.rb', line 13

def initiate
  ticket = CheckoutRu.get_ticket
  new(ticket)
end

Instance Method Details

#calculation(params = {}, options = {}) ⇒ Object



29
30
31
# File 'lib/checkout_ru/session.rb', line 29

def calculation(params = {}, options = {})
  get('calculation', params, options)
end

#get_place_by_postal_code(params = {}, options = {}) ⇒ Object



41
42
43
# File 'lib/checkout_ru/session.rb', line 41

def get_place_by_postal_code(params = {}, options = {})
  get('getPlaceByPostalCode', params, options)
end

#get_places_by_query(params = {}, options = {}) ⇒ Object



25
26
27
# File 'lib/checkout_ru/session.rb', line 25

def get_places_by_query(params = {}, options = {})
  get('getPlacesByQuery', params, options).suggestions
end

#get_postal_code_by_address(params = {}, options = {}) ⇒ Object



37
38
39
# File 'lib/checkout_ru/session.rb', line 37

def get_postal_code_by_address(params = {}, options = {})
  get('getPostalCodeByAddress', params, options).postindex
end

#get_streets_by_query(params = {}, options = {}) ⇒ Object



33
34
35
# File 'lib/checkout_ru/session.rb', line 33

def get_streets_by_query(params = {}, options = {})
  get('getStreetsByQuery', params, options).suggestions
end