Class: AxiomusApi::Session

Inherits:
Object
  • Object
show all
Includes:
Actions
Defined in:
lib/axiomus_api/session.rb

Constant Summary

Constants included from Actions

Actions::ACTIONS

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Actions

#create_request

Constructor Details

#initialize(uid, ukey, test = true) ⇒ Session

Returns a new instance of Session.



12
13
14
15
16
17
18
19
20
# File 'lib/axiomus_api/session.rb', line 12

def initialize(uid, ukey, test = true)
  @test = test
  @uid = uid
  @ukey = ukey

  if(block_given?)
    yield self
  end
end

Instance Attribute Details

#testObject (readonly)

Returns the value of attribute test.



10
11
12
# File 'lib/axiomus_api/session.rb', line 10

def test
  @test
end

Instance Method Details

#get_regionsObject



32
33
34
35
36
37
# File 'lib/axiomus_api/session.rb', line 32

def get_regions()
  xml_request = create_request(:get_regions)
  xml_request.auth.ukey = @ukey
  response = send_request(xml_request)
  AxiomusApi::RegionsResponse.new (response.body)
end


67
68
69
# File 'lib/axiomus_api/session.rb', line 67

def labels_link(orders)
  "http://axiomus.ru/system/control/_call.php?mode=label&order=#{orders.join(',')}"
end

#send_order_request(mode, order) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/axiomus_api/session.rb', line 48

def send_order_request(mode, order)
  if(!order.valid?)
    error_msg = order.validation_errors.join('\n')
    logger.error(error_msg)
    raise AxiomusApi::Errors::ValidationError.new, order.validation_errors.join(error_msg)
  end

  xml_request = get_order_request(mode, order)
  response = send_request(xml_request)
  order_response = AxiomusApi::OrderResponse.new(response.body)

  if !order_response.success?
    log_response_error(order_response.error_message, xml_request.to_xml, response.body)
    raise AxiomusApi::Errors::RequestError.new(order_response.code), order_response.error_message
  end

  order_response
end

#status(okey) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/axiomus_api/session.rb', line 39

def status(okey)
  xml_request = create_request(:status)
  xml_request.auth = nil
  xml_request.okey = okey
  response = send_request(xml_request)
  status_response = AxiomusApi::StatusResponse.new(response.body)
  status_response
end