gillbus 0.18.9 → 0.18.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eda1c50bb296e10fba122d5d8bdf2826d3ebfae0
4
- data.tar.gz: 78a4aeb65635ac55a9306b4f2afa6c7ee3b5881f
3
+ metadata.gz: edf0f3b1165bb7dc21dc075e495b6e55b36e258c
4
+ data.tar.gz: 9b7db48a310875a95a63eba6571af8df9e0697ff
5
5
  SHA512:
6
- metadata.gz: 427db725d935c985579bb9624e96c11e503b275647e4bed884b066c917a3108c867c3f9a928adc7c4076437c2ee7f4209686596274e456eb3f15b29d49d79f94
7
- data.tar.gz: 21bfe3a3ce7bda67b27946652e81b92490fbfc47c9e6c10712763941296a7b6eb5bd3b880b2212310fd268b8054c1c9a91a480f3c31ef37113bd55871401bdcb
6
+ metadata.gz: 382b6e505597994c30a27442559cf476b44d68c2c49e79cc568a4af4962002040e06427a148cee3f6d11ef24c627464d072aa865abab41f71a675b2bba7fc479
7
+ data.tar.gz: f3a880e2903f05ff53eb6ff3c2cce6f35cd3b6cc912cd74cc7bd61eeb76905fe0a85e5a7285981fe098ad44bf209d3593e0d248a9930178625d87555edbf4a05
@@ -13,11 +13,15 @@ class Gillbus
13
13
  attr_accessor :external_error_message
14
14
  attr_accessor :request_time
15
15
 
16
+ attr_accessor :raw_xml # make accessible for logging and debuging
17
+
16
18
  def error?
17
19
  !error_code.nil?
18
20
  end
19
21
 
20
22
  def self.parse(data, instance: new, options: {})
23
+ instance.raw_xml = options[:raw_xml] if options[:raw_xml]
24
+
21
25
  # ugly
22
26
  if data['MESSAGE']
23
27
  instance.error_code = data['MESSAGE']['CODE'].to_i
@@ -36,7 +40,7 @@ class Gillbus
36
40
  # <DATA/> is a valid response
37
41
  return ParseError.new(xml_string, 'DATA attribute missing') unless xml.key?('DATA')
38
42
  data = xml['DATA'] || {}
39
- parse(data, instance: new, options: options)
43
+ parse(data, instance: new, options: options.merge(raw_xml: xml_string))
40
44
  rescue Ox::ParseError, ArgumentError => e
41
45
  ParseError.new(xml_string, e.message)
42
46
  end
@@ -1,3 +1,3 @@
1
1
  class Gillbus
2
- VERSION = '0.18.9'.freeze
2
+ VERSION = '0.18.10'.freeze
3
3
  end
data/test/error_test.rb CHANGED
@@ -22,7 +22,7 @@ class ErrorTest < Minitest::Test
22
22
 
23
23
  def test_malformed_errorness
24
24
  assert malformed_response.error?
25
- assert_equal "Malformed response: invalid format, expected < at line 1, column 1 [parse.c:146]\n", malformed_response.error_message
25
+ assert_equal "Malformed response: invalid format, expected < at line 1, column 1 [parse.c:147]\n", malformed_response.error_message
26
26
  end
27
27
 
28
28
  def test_malformed_2_errorness
@@ -0,0 +1,120 @@
1
+ ---
2
+ ID: '386911730793662069'
3
+ RES_ID: '0'
4
+ NUMBER: TEST - Москва-Брянск
5
+ START_CITY_NAME: Москва
6
+ END_CITY_NAME: Брянск
7
+ START_TIMEZONE:
8
+ END_TIMEZONE:
9
+ START_DATE: 29.12.2017
10
+ END_DATE: 29.12.2017
11
+ START_TIME: '07:00'
12
+ END_TIME: '13:30'
13
+ BUS_MODEL: SCANIA C
14
+ BUS_CLASS:
15
+ BUS_ID:
16
+ BUS_FLOORS_NUMBER: '1'
17
+ PLATFORM:
18
+ TRIP_SEATS_MAP: 'true'
19
+ SHOW_PICKUP_DROPOFF: 'false'
20
+ BRANDED: 'false'
21
+ HAS_TRANSFER: 'false'
22
+ PLACES_COUNT: '51'
23
+ FREE_PLACES_COUNT: '20'
24
+ FREE_BUSY_PLACES: 20/51
25
+ CARRIER_ID: 39E2022747F26FA1E0530300F00A8A55
26
+ CARRIER_NAME: '"Региональные Автобусные Маршруты" ООО'
27
+ TIME_IN_ROAD: '06:30'
28
+ FAKE_TIME_IN_ROAD: 'false'
29
+ STATION_BEGIN_ID: 34C0A393C480628CE0530300F00AE18E
30
+ STATION_BEGIN_NAME: Киевский вокзал
31
+ STATION_BEGIN_ADDRESS: пл. Киевского Вокзала, д. 1
32
+ STATION_END_ID: 357C66C2E3907C1CE0530300F00A3A4E
33
+ STATION_END_NAME: Брянск, ж/д вокзал
34
+ STATION_END_ADDRESS: ул. Речная д. 1
35
+ RESERVATION_ENABLED: 'true'
36
+ SALE_ENABLED: 'true'
37
+ RETURN_ENABLED: 'false'
38
+ TIME_FOR_CANCEL: '40'
39
+ TRIP_FULL_SALE: 'false'
40
+ CAN_DISCOUNT: 'true'
41
+ INTERNATIONAL: 'false'
42
+ JOIN_BOOK_BUY: 'true'
43
+ TRIP_MODE: '1'
44
+ CUSTOM_STATUS: '0'
45
+ SPECIAL_CONDITIONS:
46
+ REDIRECT_URL:
47
+ IMAGE_URL: 'null'
48
+ START_POINT_TYPE: 'null'
49
+ VEHICLE_DESCRIPTION: 'null'
50
+ VEHICLE_FEATURES: 'null'
51
+ TOTAL_COST: '550.0'
52
+ CURRENCY: RUB
53
+ CURRENCY_CODE: '643'
54
+ TARIFF:
55
+ SHORT_NAME: Y
56
+ FULL_NAME: Базовый тариф
57
+ START_DATE:
58
+ END_DATE:
59
+ DESCRIPTION: 'Базовый тариф стоимости проезда одного пассажиров в одном направлении
60
+
61
+ '
62
+ TIME_TO_BUY_RESERVED: '2'
63
+ TIME_TO_STOP_BOOKING: '2'
64
+ TIME_TO_PAY_RESERVATION: 06.12.2017 18:25:39
65
+ COST: '550'
66
+ INSURANCE_COST: '0'
67
+ INSURANCE_ID:
68
+ INSURANCE_SUM: '0'
69
+ INSURANCE_CUR:
70
+ AFTER_DISPATCH_NO_RETURN: 'true'
71
+ PASSENGER_BIRTHDAY:
72
+ PASSENGER_ISIC_NUMBER:
73
+ PASSENGER_STUDENT_TICKET:
74
+ NOTE:
75
+ RETURN_CAUSE:
76
+ - lossless: 'true'
77
+ __content__: Без потерь, более чем за 2 ч., до отправления рейса. Возвращается
78
+ 100% стоимости тарифа. Ориентировочная сумма возврата 550
79
+ - 'Добровольно, менее чем за 2 ч., до отправления рейса. Удерживается при возврате:
80
+ 15% тарифа. Ориентировочная сумма возврата 425'
81
+ - 'Возврат маршрутной квитанции в случае опоздания к отправлению (стоимость не возвращается).
82
+ Удерживается при возврате: 100% тарифа. Ориентировочная сумма возврата 0'
83
+ - Возврат маршрутной квитанции по отмене отправления т/с, задержки отправления т/с
84
+ более чем на час и непредставления пассажиру указанного в билете места. СРОК ОБРАЩЕНИЯ
85
+ для возврата билета 24 часа с времени отправления. . Возвращается 100% стоимости
86
+ билета. Ориентировочная сумма возврата 550
87
+ PROMOTE: 'false'
88
+ IS_EXCLUSIVE_PRICE: 'false'
89
+ POINT:
90
+ - NUMBER: '0'
91
+ GEOGRAPHY_NAME: Москва
92
+ NAME: Киевский вокзал
93
+ ADDRESS: пл. Киевского Вокзала, д. 1
94
+ TIMEZONE:
95
+ ARRIVAL_DATE: 29.12.2017
96
+ ARRIVAL_TIME:
97
+ DISPATCH_DATE: 29.12.2017
98
+ DISPATCH_TIME: '07:00'
99
+ CHECK_POINT: 'false'
100
+ DISTANCE: '0'
101
+ TRANSFER_POINT: 'false'
102
+ PLATFORM:
103
+ BUSMODEL:
104
+ AGREED: 'true'
105
+ - NUMBER: '1'
106
+ GEOGRAPHY_NAME: Брянск
107
+ NAME: Остановка Брянск
108
+ ADDRESS: улица Речная; дом 1
109
+ TIMEZONE:
110
+ ARRIVAL_DATE: 29.12.2017
111
+ ARRIVAL_TIME: '13:30'
112
+ DISPATCH_DATE: 29.12.2017
113
+ DISPATCH_TIME:
114
+ CHECK_POINT: 'false'
115
+ DISTANCE: '390'
116
+ TRANSFER_POINT: 'false'
117
+ PLATFORM:
118
+ BUSMODEL:
119
+ AGREED: 'true'
120
+ EXTRA_CHARGE: '0.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gillbus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.9
4
+ version: 0.18.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey "codesnik" Trofimenko
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-08-23 00:00:00.000000000 Z
12
+ date: 2018-08-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -258,6 +258,7 @@ files:
258
258
  - test/responses/getTripSeats-segments.xml
259
259
  - test/responses/getTripSeats.xml
260
260
  - test/responses/getTripSegments.xml
261
+ - test/responses/legacy_trip.yml
261
262
  - test/responses/legacy_trip_2.yml
262
263
  - test/responses/lockSeats.xml
263
264
  - test/responses/reserveTickets.xml
@@ -337,6 +338,7 @@ test_files:
337
338
  - test/responses/getTripSeats-segments.xml
338
339
  - test/responses/getTripSeats.xml
339
340
  - test/responses/getTripSegments.xml
341
+ - test/responses/legacy_trip.yml
340
342
  - test/responses/legacy_trip_2.yml
341
343
  - test/responses/lockSeats.xml
342
344
  - test/responses/reserveTickets.xml