gillbus 0.20.5 → 0.20.6

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
  SHA256:
3
- metadata.gz: 1e6d0492e4962f1e559b9b3b3edc09ee05bd3740551e9135d64ebbb29986cc40
4
- data.tar.gz: 8185ef4de5b2e66519db4e6c52455ae0be39de9f56e1ef3c6701c1340ef580cc
3
+ metadata.gz: 6c90e21289590b464d26988593ff4c98d6c4c3104558aa57b38c5940b198b901
4
+ data.tar.gz: b290a7a09612ab1ff28a77bf8ad39066f211e4b8e3b23aad0139b23bf45cb31a
5
5
  SHA512:
6
- metadata.gz: 71a59c75be5d853c4df9cc295be931c0ac44f335dcb482e37229184392bce0840797e2535703ef2f8b2325c79f6fb32a40649636eb1f3b13df73ae6526e42e39
7
- data.tar.gz: deda268319a55c2a3d7cfa6cb48ddc8351ee58593521fc2231d0087077c0f6939aca6c87ffd34d9e87d56ec07ceeb301f68a656916645bfe837ff1416da61101
6
+ metadata.gz: 7104cac3934fc6b6b64cfcc2baee8913c9fce8f4f351e6e8ccfae4ca7b8fddc23d78ac37bfe039e403beec2ffd0ff419a7ddbc6ef4fb6ea623b69052281045ea
7
+ data.tar.gz: 57a1a837c1268d0d43c2b93f81ac41d3412101512b09353e01b2d24ac54874dd38700ec752b2ef8ce7ec5691677d9c6d51157aa9d3fe3e4aee941e48cef5b69d
@@ -87,6 +87,7 @@ class Gillbus
87
87
  require 'gillbus/structs/item'
88
88
  require 'gillbus/structs/carrier'
89
89
  require 'gillbus/structs/nearby_cities_trip'
90
+ require 'gillbus/structs/baggage'
90
91
 
91
92
  require 'gillbus/parse_error'
92
93
  require 'gillbus/base_request'
@@ -16,6 +16,7 @@ class Gillbus
16
16
 
17
17
  class Response < BaseResponse
18
18
  field :dictionary, :bool_dict
19
+ field :baggage, Baggage
19
20
 
20
21
  parser do
21
22
  def bool_dict(val)
@@ -0,0 +1,19 @@
1
+ class Gillbus
2
+ class Baggage
3
+ extend Fields
4
+
5
+ # => "0"
6
+ field :segment_number, :int
7
+
8
+ # => "true"
9
+ field :is_buy, :bool
10
+
11
+ # => "50.5"
12
+ field :baggage_tariff, :decimal
13
+
14
+ # => "2"
15
+ field :baggage_limit, :int
16
+
17
+ field :segments, [Baggage], key: 'SEGMENT'
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  class Gillbus
2
- VERSION = '0.20.5'.freeze
2
+ VERSION = '0.20.6'.freeze
3
3
  end
@@ -0,0 +1,77 @@
1
+ require 'test_helper'
2
+
3
+ class GetRequiredFieldsTest < Minitest::Test
4
+ def get_required_fields_without_baggage
5
+ response_xml = File.read('test/responses/getRequiredFieldsWithoutBaggage.xml')
6
+ Gillbus::GetRequiredFields::Response.parse_string(response_xml)
7
+ end
8
+
9
+ def get_required_fields_with_one_baggage
10
+ response_xml = File.read('test/responses/getRequiredFieldsWithOneBaggage.xml')
11
+ Gillbus::GetRequiredFields::Response.parse_string(response_xml)
12
+ end
13
+
14
+ def get_required_fields_with_two_baggage_segments
15
+ response_xml = File.read('test/responses/getRequiredFieldsWithTwoBaggageSegments.xml')
16
+ Gillbus::GetRequiredFields::Response.parse_string(response_xml)
17
+ end
18
+
19
+ def test_required_fields_without_baggage
20
+ result = get_required_fields_without_baggage
21
+
22
+ assert_nil result.baggage
23
+
24
+ dictionary = result.dictionary
25
+ assert_equal false, dictionary[:student_ticket]
26
+ assert_equal false, dictionary[:isic]
27
+ assert_equal false, dictionary[:tariff_short_name]
28
+ assert_equal false, dictionary[:tariff_cost]
29
+ assert_equal true, dictionary[:document_type]
30
+ assert_equal true, dictionary[:baggage_count]
31
+ assert_equal true, dictionary[:phone]
32
+ assert_equal true, dictionary[:mail]
33
+ assert_equal true, dictionary[:firstname]
34
+ assert_equal true, dictionary[:lastname]
35
+ assert_equal true, dictionary[:birthday]
36
+ assert_equal true, dictionary[:passport]
37
+ assert_equal true, dictionary[:citizenship]
38
+ assert_equal true, dictionary[:gender]
39
+ assert_equal true, dictionary[:visa]
40
+ assert_equal true, dictionary[:passdate]
41
+ assert_equal true, dictionary[:only_latin_symbols]
42
+ end
43
+
44
+ def test_required_fields_with_one_baggage
45
+ result = get_required_fields_with_one_baggage
46
+ baggage = result.baggage
47
+
48
+ assert_equal true, baggage.is_buy
49
+ assert_equal 50.5, baggage.baggage_tariff
50
+
51
+ assert_equal [], baggage.segments
52
+ assert_nil baggage.segment_number
53
+ end
54
+
55
+ def test_required_fields_with_two_baggage_segments
56
+ result = get_required_fields_with_two_baggage_segments
57
+ baggage = result.baggage
58
+
59
+ assert_nil baggage.is_buy
60
+ assert_nil baggage.baggage_tariff
61
+ assert_nil baggage.baggage_limit
62
+
63
+ assert_equal 2, baggage.segments.count
64
+ first_baggage_segment = baggage.segments[0]
65
+ second_baggage_segment = baggage.segments[1]
66
+
67
+ assert_equal 0, first_baggage_segment.segment_number
68
+ assert_equal true, first_baggage_segment.is_buy
69
+ assert_equal 70.7, first_baggage_segment.baggage_tariff
70
+ assert_equal 2, first_baggage_segment.baggage_limit
71
+
72
+ assert_equal 1, second_baggage_segment.segment_number
73
+ assert_equal false, second_baggage_segment.is_buy
74
+ assert_nil second_baggage_segment.baggage_tariff
75
+ assert_nil second_baggage_segment.baggage_limit
76
+ end
77
+ end
@@ -0,0 +1,28 @@
1
+ <DATA>
2
+ <TIME_LIMIT>0</TIME_LIMIT>
3
+ <DICTIONARY>
4
+ <STUDENT_TICKET>false</STUDENT_TICKET>
5
+ <ISIC>false</ISIC>
6
+ <TARIFF_SHORT_NAME>false</TARIFF_SHORT_NAME>
7
+ <TARIFF_COST>false</TARIFF_COST>
8
+ <DOCUMENT_TYPE>true</DOCUMENT_TYPE>
9
+ <BAGGAGE_COUNT>true</BAGGAGE_COUNT>
10
+ <PHONE>true</PHONE>
11
+ <MAIL>true</MAIL>
12
+ <FIRSTNAME>true</FIRSTNAME>
13
+ <LASTNAME>true</LASTNAME>
14
+ <SECONDNAME>true</SECONDNAME>
15
+ <BIRTHDAY>true</BIRTHDAY>
16
+ <PASSPORT>true</PASSPORT>
17
+ <CITIZENSHIP>true</CITIZENSHIP>
18
+ <GENDER>true</GENDER>
19
+ <VISA>true</VISA>
20
+ <PASSDATE>true</PASSDATE>
21
+ <ONLY_LATIN_SYMBOLS>true</ONLY_LATIN_SYMBOLS>
22
+ </DICTIONARY>
23
+ <BAGGAGE>
24
+ <IS_BUY>true</IS_BUY>
25
+ <BAGGAGE_TARIFF>50.5</BAGGAGE_TARIFF>
26
+ <BAGGAGE_LIMIT>2</BAGGAGE_LIMIT>
27
+ </BAGGAGE>
28
+ </DATA>
@@ -0,0 +1,40 @@
1
+ <DATA>
2
+ <TIME_LIMIT>0</TIME_LIMIT>
3
+ <DICTIONARY>
4
+ <STUDENT_TICKET>false</STUDENT_TICKET>
5
+ <ISIC>false</ISIC>
6
+ <TARIFF_SHORT_NAME>false</TARIFF_SHORT_NAME>
7
+ <TARIFF_COST>false</TARIFF_COST>
8
+ <DOCUMENT_TYPE>true</DOCUMENT_TYPE>
9
+ <BAGGAGE_COUNT>true</BAGGAGE_COUNT>
10
+ <PHONE>true</PHONE>
11
+ <MAIL>true</MAIL>
12
+ <FIRSTNAME>true</FIRSTNAME>
13
+ <LASTNAME>true</LASTNAME>
14
+ <SECONDNAME>true</SECONDNAME>
15
+ <BIRTHDAY>true</BIRTHDAY>
16
+ <PASSPORT>true</PASSPORT>
17
+ <CITIZENSHIP>true</CITIZENSHIP>
18
+ <GENDER>true</GENDER>
19
+ <VISA>true</VISA>
20
+ <PASSDATE>true</PASSDATE>
21
+ <ONLY_LATIN_SYMBOLS>true</ONLY_LATIN_SYMBOLS>
22
+ </DICTIONARY>
23
+ <BAGGAGE>
24
+ <IS_BUY></IS_BUY>
25
+ <BAGGAGE_TARIFF></BAGGAGE_TARIFF>
26
+ <BAGGAGE_LIMIT></BAGGAGE_LIMIT>
27
+ <SEGMENT>
28
+ <SEGMENT_NUMBER>0</SEGMENT_NUMBER>
29
+ <IS_BUY>true</IS_BUY>
30
+ <BAGGAGE_TARIFF>70.7</BAGGAGE_TARIFF>
31
+ <BAGGAGE_LIMIT>2</BAGGAGE_LIMIT>
32
+ </SEGMENT>
33
+ <SEGMENT>
34
+ <SEGMENT_NUMBER>1</SEGMENT_NUMBER>
35
+ <IS_BUY>false</IS_BUY>
36
+ <BAGGAGE_TARIFF></BAGGAGE_TARIFF>
37
+ <BAGGAGE_LIMIT></BAGGAGE_LIMIT>
38
+ </SEGMENT>
39
+ </BAGGAGE>
40
+ </DATA>
@@ -0,0 +1,23 @@
1
+ <DATA>
2
+ <TIME_LIMIT>0</TIME_LIMIT>
3
+ <DICTIONARY>
4
+ <STUDENT_TICKET>false</STUDENT_TICKET>
5
+ <ISIC>false</ISIC>
6
+ <TARIFF_SHORT_NAME>false</TARIFF_SHORT_NAME>
7
+ <TARIFF_COST>false</TARIFF_COST>
8
+ <DOCUMENT_TYPE>true</DOCUMENT_TYPE>
9
+ <BAGGAGE_COUNT>true</BAGGAGE_COUNT>
10
+ <PHONE>true</PHONE>
11
+ <MAIL>true</MAIL>
12
+ <FIRSTNAME>true</FIRSTNAME>
13
+ <LASTNAME>true</LASTNAME>
14
+ <SECONDNAME>true</SECONDNAME>
15
+ <BIRTHDAY>true</BIRTHDAY>
16
+ <PASSPORT>true</PASSPORT>
17
+ <CITIZENSHIP>true</CITIZENSHIP>
18
+ <GENDER>true</GENDER>
19
+ <VISA>true</VISA>
20
+ <PASSDATE>true</PASSDATE>
21
+ <ONLY_LATIN_SYMBOLS>true</ONLY_LATIN_SYMBOLS>
22
+ </DICTIONARY>
23
+ </DATA>
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.20.5
4
+ version: 0.20.6
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: 2019-07-02 00:00:00.000000000 Z
12
+ date: 2019-10-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -201,6 +201,7 @@ files:
201
201
  - lib/gillbus/search_nearby_trips.rb
202
202
  - lib/gillbus/search_trips.rb
203
203
  - lib/gillbus/session_login.rb
204
+ - lib/gillbus/structs/baggage.rb
204
205
  - lib/gillbus/structs/bus_photo.rb
205
206
  - lib/gillbus/structs/carrier.rb
206
207
  - lib/gillbus/structs/commission.rb
@@ -239,6 +240,7 @@ files:
239
240
  - test/get_countries_test.rb
240
241
  - test/get_dates_new_test.rb
241
242
  - test/get_order_ticket_test.rb
243
+ - test/get_required_fields_test.rb
242
244
  - test/get_time_table_test.rb
243
245
  - test/get_trip_seats_test.rb
244
246
  - test/get_trip_segments_test.rb
@@ -255,6 +257,9 @@ files:
255
257
  - test/responses/getCities.xml
256
258
  - test/responses/getCountries.xml
257
259
  - test/responses/getOrderTicket.xml
260
+ - test/responses/getRequiredFieldsWithOneBaggage.xml
261
+ - test/responses/getRequiredFieldsWithTwoBaggageSegments.xml
262
+ - test/responses/getRequiredFieldsWithoutBaggage.xml
258
263
  - test/responses/getTimeTable.xml
259
264
  - test/responses/getTripSeats-back-seats.xml
260
265
  - test/responses/getTripSeats-one-empty-segment.xml
@@ -322,6 +327,7 @@ test_files:
322
327
  - test/get_countries_test.rb
323
328
  - test/get_dates_new_test.rb
324
329
  - test/get_order_ticket_test.rb
330
+ - test/get_required_fields_test.rb
325
331
  - test/get_time_table_test.rb
326
332
  - test/get_trip_seats_test.rb
327
333
  - test/get_trip_segments_test.rb
@@ -338,6 +344,9 @@ test_files:
338
344
  - test/responses/getCities.xml
339
345
  - test/responses/getCountries.xml
340
346
  - test/responses/getOrderTicket.xml
347
+ - test/responses/getRequiredFieldsWithOneBaggage.xml
348
+ - test/responses/getRequiredFieldsWithTwoBaggageSegments.xml
349
+ - test/responses/getRequiredFieldsWithoutBaggage.xml
341
350
  - test/responses/getTimeTable.xml
342
351
  - test/responses/getTripSeats-back-seats.xml
343
352
  - test/responses/getTripSeats-one-empty-segment.xml