speedy-bg 0.1.0

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.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +3 -0
  3. data/CODE_OF_CONDUCT.md +134 -0
  4. data/CONTRIBUTING.md +67 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +150 -0
  7. data/SECURITY.md +29 -0
  8. data/docs/API.md +740 -0
  9. data/docs/RESPONSE_CONTRACTS.md +55 -0
  10. data/docs/VCR.md +161 -0
  11. data/docs/schema-notes.md +38 -0
  12. data/lib/speedy/camel_case_middleware.rb +71 -0
  13. data/lib/speedy/client.rb +100 -0
  14. data/lib/speedy/client_resources.rb +776 -0
  15. data/lib/speedy/collection.rb +58 -0
  16. data/lib/speedy/error.rb +29 -0
  17. data/lib/speedy/model.rb +92 -0
  18. data/lib/speedy/models/calculation/address_location.rb +16 -0
  19. data/lib/speedy/models/calculation/calculation_content.rb +15 -0
  20. data/lib/speedy/models/calculation/calculation_recipient.rb +15 -0
  21. data/lib/speedy/models/calculation/calculation_result.rb +19 -0
  22. data/lib/speedy/models/calculation/calculation_sender.rb +16 -0
  23. data/lib/speedy/models/calculation/calculation_service.rb +16 -0
  24. data/lib/speedy/models/clients/client.rb +21 -0
  25. data/lib/speedy/models/clients/cod_contract_info.rb +16 -0
  26. data/lib/speedy/models/clients/cod_international_annex.rb +12 -0
  27. data/lib/speedy/models/clients/contract_info.rb +16 -0
  28. data/lib/speedy/models/clients/requirement.rb +12 -0
  29. data/lib/speedy/models/clients/special_delivery_requirements.rb +12 -0
  30. data/lib/speedy/models/common/address.rb +36 -0
  31. data/lib/speedy/models/error.rb +37 -0
  32. data/lib/speedy/models/location/address_nomenclature_type.rb +12 -0
  33. data/lib/speedy/models/location/block.rb +15 -0
  34. data/lib/speedy/models/location/complex.rb +23 -0
  35. data/lib/speedy/models/location/country.rb +25 -0
  36. data/lib/speedy/models/location/find_office_response.rb +12 -0
  37. data/lib/speedy/models/location/find_site_response.rb +12 -0
  38. data/lib/speedy/models/location/get_office_response.rb +12 -0
  39. data/lib/speedy/models/location/get_site_response.rb +12 -0
  40. data/lib/speedy/models/location/office.rb +41 -0
  41. data/lib/speedy/models/location/office_result.rb +13 -0
  42. data/lib/speedy/models/location/office_working_time_schedule.rb +15 -0
  43. data/lib/speedy/models/location/point_of_interest.rb +22 -0
  44. data/lib/speedy/models/location/postcode.rb +12 -0
  45. data/lib/speedy/models/location/routing_information.rb +14 -0
  46. data/lib/speedy/models/location/site.rb +30 -0
  47. data/lib/speedy/models/location/state.rb +17 -0
  48. data/lib/speedy/models/location/street.rb +23 -0
  49. data/lib/speedy/models/location/tour.rb +14 -0
  50. data/lib/speedy/models/payments/payout.rb +20 -0
  51. data/lib/speedy/models/payments/payout_details.rb +23 -0
  52. data/lib/speedy/models/pickup/pickup_order.rb +16 -0
  53. data/lib/speedy/models/pickup/terms_response.rb +12 -0
  54. data/lib/speedy/models/print/extended_print_response.rb +13 -0
  55. data/lib/speedy/models/print/label_info.rb +19 -0
  56. data/lib/speedy/models/print/label_info_response.rb +12 -0
  57. data/lib/speedy/models/print/parcel_to_print_additional_barcode.rb +14 -0
  58. data/lib/speedy/models/print/print_response.rb +12 -0
  59. data/lib/speedy/models/response.rb +13 -0
  60. data/lib/speedy/models/services/additional_courier_service.rb +11 -0
  61. data/lib/speedy/models/services/additional_courier_services.rb +21 -0
  62. data/lib/speedy/models/services/courier_service.rb +19 -0
  63. data/lib/speedy/models/services/extended_courier_service.rb +13 -0
  64. data/lib/speedy/models/shipments/bank_account.rb +12 -0
  65. data/lib/speedy/models/shipments/barcode_information.rb +20 -0
  66. data/lib/speedy/models/shipments/cod_payment.rb +12 -0
  67. data/lib/speedy/models/shipments/content.rb +20 -0
  68. data/lib/speedy/models/shipments/create_shipment_response.rb +16 -0
  69. data/lib/speedy/models/shipments/created_shipment_parcel.rb +14 -0
  70. data/lib/speedy/models/shipments/external_carrier_parcel_number.rb +12 -0
  71. data/lib/speedy/models/shipments/goods_item.rb +16 -0
  72. data/lib/speedy/models/shipments/money_transfer_premium.rb +13 -0
  73. data/lib/speedy/models/shipments/parcel.rb +22 -0
  74. data/lib/speedy/models/shipments/payment.rb +16 -0
  75. data/lib/speedy/models/shipments/primary_shipment.rb +12 -0
  76. data/lib/speedy/models/shipments/recipient.rb +21 -0
  77. data/lib/speedy/models/shipments/return_amounts.rb +11 -0
  78. data/lib/speedy/models/shipments/secondary_shipment.rb +18 -0
  79. data/lib/speedy/models/shipments/sender.rb +21 -0
  80. data/lib/speedy/models/shipments/shipment.rb +28 -0
  81. data/lib/speedy/models/shipments/shipment_additional_services.rb +17 -0
  82. data/lib/speedy/models/shipments/shipment_address.rb +10 -0
  83. data/lib/speedy/models/shipments/shipment_cod_additional_service.rb +20 -0
  84. data/lib/speedy/models/shipments/shipment_cod_fiscal_receipt_item.rb +14 -0
  85. data/lib/speedy/models/shipments/shipment_content.rb +24 -0
  86. data/lib/speedy/models/shipments/shipment_declared_value_additional_service.rb +13 -0
  87. data/lib/speedy/models/shipments/shipment_delivery.rb +14 -0
  88. data/lib/speedy/models/shipments/shipment_discount_card_id.rb +12 -0
  89. data/lib/speedy/models/shipments/shipment_electronic_return_receipt_additional_service.rb +14 -0
  90. data/lib/speedy/models/shipments/shipment_obpd.rb +13 -0
  91. data/lib/speedy/models/shipments/shipment_parcel.rb +23 -0
  92. data/lib/speedy/models/shipments/shipment_parcel_number.rb +12 -0
  93. data/lib/speedy/models/shipments/shipment_parcel_ref.rb +13 -0
  94. data/lib/speedy/models/shipments/shipment_parcel_size.rb +13 -0
  95. data/lib/speedy/models/shipments/shipment_payment.rb +17 -0
  96. data/lib/speedy/models/shipments/shipment_phone_number.rb +12 -0
  97. data/lib/speedy/models/shipments/shipment_price.rb +23 -0
  98. data/lib/speedy/models/shipments/shipment_price_amount.rb +13 -0
  99. data/lib/speedy/models/shipments/shipment_recipient.rb +14 -0
  100. data/lib/speedy/models/shipments/shipment_return_additional_services.rb +20 -0
  101. data/lib/speedy/models/shipments/shipment_return_receipt_additional_service.rb +14 -0
  102. data/lib/speedy/models/shipments/shipment_return_voucher_additional_service.rb +14 -0
  103. data/lib/speedy/models/shipments/shipment_rod_additional_service.rb +15 -0
  104. data/lib/speedy/models/shipments/shipment_rop_additional_service.rb +12 -0
  105. data/lib/speedy/models/shipments/shipment_rop_additional_service_line.rb +12 -0
  106. data/lib/speedy/models/shipments/shipment_sender.rb +23 -0
  107. data/lib/speedy/models/shipments/shipment_service.rb +17 -0
  108. data/lib/speedy/models/shipments/shipment_swap_additional_service.rb +17 -0
  109. data/lib/speedy/models/shipments/update_shipment_response.rb +10 -0
  110. data/lib/speedy/models/tracking/bulk_tracking_data_file.rb +14 -0
  111. data/lib/speedy/models/tracking/external_carrier_parcel_number_details.rb +13 -0
  112. data/lib/speedy/models/tracking/tracked_parcel.rb +21 -0
  113. data/lib/speedy/models/tracking/tracked_parcel_operation.rb +22 -0
  114. data/lib/speedy/models/tracking/tracked_parcel_operation_additional_info.rb +17 -0
  115. data/lib/speedy/models/tracking/tracked_parcel_operation_additional_info_predict.rb +14 -0
  116. data/lib/speedy/models/tracking/tracked_parcel_operation_additional_info_recipient.rb +14 -0
  117. data/lib/speedy/models/validation/validation_response.rb +14 -0
  118. data/lib/speedy/resource_attributes.rb +87 -0
  119. data/lib/speedy/service_resource.rb +94 -0
  120. data/lib/speedy/services/calculation.rb +22 -0
  121. data/lib/speedy/services/clients.rb +40 -0
  122. data/lib/speedy/services/courier_services.rb +25 -0
  123. data/lib/speedy/services/location/block.rb +32 -0
  124. data/lib/speedy/services/location/complex.rb +39 -0
  125. data/lib/speedy/services/location/country.rb +70 -0
  126. data/lib/speedy/services/location/office.rb +50 -0
  127. data/lib/speedy/services/location/point_of_interest.rb +39 -0
  128. data/lib/speedy/services/location/postcode.rb +25 -0
  129. data/lib/speedy/services/location/site.rb +77 -0
  130. data/lib/speedy/services/location/state.rb +46 -0
  131. data/lib/speedy/services/location/street.rb +39 -0
  132. data/lib/speedy/services/location.rb +11 -0
  133. data/lib/speedy/services/payments.rb +19 -0
  134. data/lib/speedy/services/pickup.rb +38 -0
  135. data/lib/speedy/services/print.rb +58 -0
  136. data/lib/speedy/services/shipments/shipment.rb +120 -0
  137. data/lib/speedy/services/shipments.rb +11 -0
  138. data/lib/speedy/services/tracking.rb +26 -0
  139. data/lib/speedy/services/validation/address.rb +26 -0
  140. data/lib/speedy/services/validation/general.rb +37 -0
  141. data/lib/speedy/services/validation.rb +11 -0
  142. data/lib/speedy/transport_error.rb +17 -0
  143. data/lib/speedy/util.rb +67 -0
  144. data/lib/speedy/version.rb +5 -0
  145. data/lib/speedy-bg.rb +6 -0
  146. data/lib/speedy.rb +203 -0
  147. data/sig/speedy.rbs +374 -0
  148. metadata +227 -0
data/sig/speedy.rbs ADDED
@@ -0,0 +1,374 @@
1
+ module Speedy
2
+ type scalar = bool | Integer | Float | String | nil
3
+ type request_value = scalar | Model | Array[request_value] | Hash[Symbol | String, request_value]
4
+ type request_hash = Hash[Symbol | String, request_value]
5
+ type response_value = scalar | Date | Array[response_value] | Hash[Symbol | String, response_value]
6
+ type response_hash = Hash[Symbol, response_value]
7
+
8
+ VERSION: String
9
+
10
+ class Error < StandardError
11
+ attr_reader status: Integer?
12
+ attr_reader error: Models::Error?
13
+ def initialize: (?String? message, ?error: Models::Error?, ?status: Integer?) -> void
14
+ end
15
+
16
+ class TransportError < Error
17
+ end
18
+
19
+ class ConnectionError < TransportError
20
+ end
21
+
22
+ class TimeoutError < TransportError
23
+ end
24
+
25
+ class SSLError < TransportError
26
+ end
27
+
28
+ class Collection[unchecked out Elem] < Object
29
+ include Enumerable[Elem]
30
+
31
+ attr_reader error: Models::Error?
32
+ def error?: () -> bool
33
+ def each: () { (Elem) -> void } -> void
34
+ def to_a: () -> Array[Elem]
35
+ def size: () -> Integer
36
+ def empty?: () -> bool
37
+ end
38
+
39
+ class Model
40
+ attr_reader error: Models::Error?
41
+ def error?: () -> bool
42
+ def to_h: () -> response_hash
43
+ def to_json: (*untyped) -> String
44
+ end
45
+
46
+ class Client
47
+ attr_accessor username: String?
48
+ attr_accessor password: String?
49
+ attr_accessor base_url: String
50
+ attr_accessor language: String?
51
+ attr_accessor client_system_id: Integer?
52
+ attr_accessor debug: bool
53
+ attr_accessor debug_bodies: bool
54
+ attr_accessor debug_logger: untyped
55
+ attr_accessor open_timeout: Numeric
56
+ attr_accessor read_timeout: Numeric
57
+ attr_accessor write_timeout: Numeric
58
+
59
+ def self.configure: () { (Client) -> void } -> Client
60
+ def self.connection: () -> untyped
61
+ def setup_connection!: () -> untyped
62
+ def credentials: () -> request_hash
63
+
64
+ def create_shipment: (**request_value) -> Models::Shipments::CreateShipmentResponse
65
+ def calculate_delivery: (**request_value) -> Collection[Models::Calculation::CalculationResult]
66
+ alias calculate_delivery_fee calculate_delivery
67
+ def shipment_info: (*String) -> Collection[Models::Shipments::Shipment]
68
+ def update_shipment: (id: String, **request_value) -> Models::Shipments::UpdateShipmentResponse
69
+ def update_shipment_properties: (id: String, **request_value) -> Models::Shipments::UpdateShipmentResponse
70
+ def cancel_shipment: (id: String, ?comment: String?) -> Models::Response
71
+ def finalize_shipment: (id: String) -> Models::Shipments::CreateShipmentResponse
72
+ def add_shipment_parcel: (shipment_id: String, parcel: request_hash, **request_value) -> Models::Shipments::CreatedShipmentParcel
73
+ def secondary_shipments: (shipment_id: String, ?types: Array[String]?) -> Collection[Models::Shipments::SecondaryShipment]
74
+ def find_parcels_by_reference: (ref: String, search_in_ref: Integer, **request_value) -> Array[String]
75
+ def hand_over_to_courier: (parcels: Array[request_hash]) -> Models::Response
76
+ def hand_over_to_midway_carrier: (parcels: Array[request_hash]) -> Models::Response
77
+ def barcode_information: (parcel: request_hash) -> Models::Shipments::BarcodeInformation
78
+ def track_shipments: (parcels: Array[request_hash], ?last_operation_only: bool?) -> Collection[Models::Tracking::TrackedParcel]
79
+ def bulk_tracking_files: (last_processed_file_id: Integer) -> Collection[Models::Tracking::BulkTrackingDataFile]
80
+ def courier_services: (?date: String?) -> Collection[Models::Services::CourierService]
81
+ def destination_services: (sender: request_hash, recipient: request_hash, ?date: String?) -> Collection[Models::Services::ExtendedCourierService]
82
+ def request_pickup: (**request_value) -> Collection[Models::Pickup::PickupOrder]
83
+ def pickup_terms: (service_id: Integer, **request_value) -> Models::Pickup::TermsResponse
84
+ def print_labels: (**request_value) -> Models::Print::ExtendedPrintResponse
85
+ def print_labels_pdf: (**request_value) -> String
86
+ def label_info: (**request_value) -> Models::Print::LabelInfoResponse
87
+ def print_voucher: (shipment_ids: Array[String], **request_value) -> String
88
+ def own_client_id: () -> Integer
89
+ def get_client: (Integer) -> Models::Clients::Client
90
+ def contract_clients: () -> Collection[Models::Clients::Client]
91
+ def create_contact: (**request_value) -> Integer
92
+ def contact_by_external_id: (id: String, secret_key: String) -> Models::Clients::Client
93
+ def contract_info: () -> Models::Clients::ContractInfo
94
+ def payouts: (from_date: String, to_date: String, ?include_details: bool?) -> Collection[Models::Payments::Payout]
95
+ def find_sites: (**request_value) -> Collection[Models::Location::Site]
96
+ def get_site: (Integer) -> Models::Location::GetSiteResponse
97
+ def get_state: (String) -> Models::Location::State
98
+ def find_states: (**request_value) -> Collection[Models::Location::State]
99
+ def all_states: (**request_value) -> Collection[Models::Location::State]
100
+ def all_countries: () -> Collection[Models::Location::Country]
101
+ def all_sites: (country_id: Integer) -> Collection[Models::Location::Site]
102
+ def all_streets: (country_id: Integer) -> Collection[Models::Location::Street]
103
+ def all_complexes: (country_id: Integer) -> Collection[Models::Location::Complex]
104
+ def all_blocks: (country_id: Integer) -> Collection[Models::Location::Block]
105
+ def all_points_of_interest: (country_id: Integer) -> Collection[Models::Location::PointOfInterest]
106
+ def all_postcodes: (country_id: Integer) -> Collection[Models::Location::Postcode]
107
+ def find_countries: (**request_value) -> Collection[Models::Location::Country]
108
+ def get_country: (Integer) -> Models::Location::Country
109
+ def find_streets: (**request_value) -> Collection[Models::Location::Street]
110
+ def get_street: (Integer) -> Models::Location::Street
111
+ def find_complexes: (**request_value) -> Collection[Models::Location::Complex]
112
+ def get_complex: (Integer) -> Models::Location::Complex
113
+ def find_blocks: (**request_value) -> Collection[Models::Location::Block]
114
+ def find_points_of_interest: (**request_value) -> Collection[Models::Location::PointOfInterest]
115
+ def get_point_of_interest: (Integer) -> Models::Location::PointOfInterest
116
+ def find_offices: (**request_value) -> Collection[Models::Location::Office]
117
+ def get_office: (Integer) -> Models::Location::GetOfficeResponse
118
+ def nearest_offices: (address: request_hash, **request_value) -> Collection[Models::Location::OfficeResult]
119
+ def validate_address: (request_hash | Models::Shipments::ShipmentAddress) -> Models::Validation::ValidationResponse
120
+ def validate_phone: (number: String, ?extension: String?) -> Models::Validation::ValidationResponse
121
+ def validate_post_code: (country_id: Integer, post_code: String, ?site_id: Integer?) -> Models::Validation::ValidationResponse
122
+ def validate_shipment: (**request_value) -> Models::Validation::ValidationResponse
123
+ end
124
+
125
+ module Models
126
+ class Response < Model
127
+ end
128
+
129
+ class Error < Model
130
+ end
131
+
132
+ module Shipments
133
+ class CreateShipmentResponse < Model
134
+ attr_reader id: String?
135
+ attr_reader parcels: Array[CreatedShipmentParcel]
136
+ attr_reader pickup_date: String?
137
+ attr_reader price: ShipmentPrice?
138
+ attr_reader delivery_deadline: String?
139
+ end
140
+ class UpdateShipmentResponse < CreateShipmentResponse
141
+ end
142
+ class Shipment < Model
143
+ attr_reader id: String?
144
+ attr_reader sender: Sender?
145
+ attr_reader recipient: Recipient?
146
+ attr_reader price: ShipmentPrice?
147
+ attr_reader pending_shipment: bool?
148
+ end
149
+ class SecondaryShipment < Model
150
+ end
151
+ class BarcodeInformation < Model
152
+ end
153
+ class CreatedShipmentParcel < Model
154
+ attr_reader id: String?
155
+ attr_reader seq_no: Integer?
156
+ attr_reader external_carrier_id: Integer?
157
+ attr_reader external_carrier_parcel_number: String?
158
+ end
159
+ class ShipmentAddress < Model
160
+ end
161
+ class ShipmentPrice < Model
162
+ attr_reader amount: Float?
163
+ attr_reader vat: Float?
164
+ attr_reader total: Float?
165
+ attr_reader currency: String?
166
+ end
167
+ class Sender < Model
168
+ end
169
+ class Recipient < Model
170
+ end
171
+ class ShipmentParcelSize < Model
172
+ attr_reader width: Integer?
173
+ attr_reader height: Integer?
174
+ attr_reader depth: Integer?
175
+ end
176
+ class ShipmentAdditionalServices < Model
177
+ end
178
+ end
179
+
180
+ module Tracking
181
+ class BulkTrackingDataFile < Model
182
+ attr_reader id: Integer?
183
+ attr_reader url: String?
184
+ end
185
+ class TrackedParcel < Model
186
+ attr_reader parcel_id: String?
187
+ attr_reader operations: Array[TrackedParcelOperation]
188
+ attr_reader external_carrier_parcel_numbers_details: Hash[String, ExternalCarrierParcelNumberDetails] | Array[untyped] | nil
189
+ attr_reader ref: String?
190
+ attr_reader track_phase: String?
191
+ end
192
+ class ExternalCarrierParcelNumberDetails < Model
193
+ attr_reader external_carrier_id: Integer?
194
+ attr_reader external_carrier_name: String?
195
+ attr_reader track_and_trace_url: String?
196
+ end
197
+ class TrackedParcelOperation < Model
198
+ attr_reader date_time: String?
199
+ attr_reader operation_code: Integer?
200
+ attr_reader place: String?
201
+ attr_reader description: String?
202
+ attr_reader comment: String?
203
+ end
204
+ end
205
+
206
+ module Pickup
207
+ class TermsResponse < Model
208
+ attr_reader cutoffs: Array[String]
209
+ end
210
+ class PickupOrder < Model
211
+ attr_reader id: Integer?
212
+ attr_reader shipment_ids: Array[String]
213
+ attr_reader pickup_period_from: String?
214
+ attr_reader pickup_period_to: String?
215
+ end
216
+ end
217
+
218
+ module Clients
219
+ class Client < Model
220
+ end
221
+ class ContractInfo < Model
222
+ end
223
+ end
224
+
225
+ module Payments
226
+ class Payout < Model
227
+ attr_reader doc_id: Integer?
228
+ attr_reader doc_type: String?
229
+ attr_reader payment_type: String?
230
+ attr_reader payee: String?
231
+ attr_reader currency: String?
232
+ attr_reader amount: Float?
233
+ end
234
+ end
235
+
236
+
237
+ module Calculation
238
+ class CalculationResult < Model
239
+ attr_reader service_id: Integer?
240
+ attr_reader price: Models::Shipments::ShipmentPrice?
241
+ attr_reader pickup_date: String?
242
+ attr_reader delivery_deadline: String?
243
+ attr_reader delivery_deadline_work_day_type: String?
244
+ attr_reader additional_services: Models::Shipments::ShipmentAdditionalServices?
245
+ end
246
+ end
247
+
248
+ module Print
249
+ class ExtendedPrintResponse < Model
250
+ attr_reader data: String?
251
+ attr_reader print_labels_info: Array[LabelInfo]
252
+ end
253
+ class LabelInfoResponse < Model
254
+ attr_reader print_labels_info: Array[LabelInfo]
255
+ end
256
+ class LabelInfo < Model
257
+ attr_reader parcel_id: String?
258
+ attr_reader hub_id: Integer?
259
+ attr_reader office_id: Integer?
260
+ attr_reader full_barcode: String?
261
+ end
262
+ end
263
+
264
+
265
+ module Services
266
+ class CourierService < Model
267
+ attr_reader additional_services: AdditionalCourierServices?
268
+ attr_reader id: Integer?
269
+ attr_reader name: String?
270
+ attr_reader name_en: String?
271
+ attr_reader cargo_type: String?
272
+ attr_reader require_parcel_weight: bool?
273
+ attr_reader require_parcel_size: bool?
274
+ end
275
+ class AdditionalCourierService < Model
276
+ attr_reader allowance: String?
277
+ end
278
+ class AdditionalCourierServices < Model
279
+ attr_reader cod: AdditionalCourierService?
280
+ attr_reader obpd: AdditionalCourierService?
281
+ attr_reader declared_value: AdditionalCourierService?
282
+ attr_reader fixed_time_delivery: AdditionalCourierService?
283
+ attr_reader special_delivery: AdditionalCourierService?
284
+ attr_reader delivery_to_floor: AdditionalCourierService?
285
+ attr_reader rod: AdditionalCourierService?
286
+ attr_reader return_receipt: AdditionalCourierService?
287
+ attr_reader swap: AdditionalCourierService?
288
+ attr_reader rop: AdditionalCourierService?
289
+ attr_reader return_voucher: AdditionalCourierService?
290
+ end
291
+ class ExtendedCourierService < CourierService
292
+ attr_reader deadline: String?
293
+ end
294
+ end
295
+
296
+ module Location
297
+ class Country < Model
298
+ attr_reader id: Integer?
299
+ attr_reader name: String?
300
+ attr_reader name_en: String?
301
+ attr_reader iso_alpha2: String?
302
+ attr_reader iso_alpha3: String?
303
+ end
304
+ class State < Model
305
+ attr_reader id: String?
306
+ attr_reader name: String?
307
+ attr_reader country_id: Integer?
308
+ end
309
+ class Site < Model
310
+ attr_reader id: Integer?
311
+ attr_reader name: String?
312
+ attr_reader post_code: String?
313
+ end
314
+ class Street < Model
315
+ attr_reader id: Integer?
316
+ attr_reader site_id: Integer?
317
+ attr_reader name: String?
318
+ end
319
+ class Complex < Model
320
+ attr_reader id: Integer?
321
+ attr_reader site_id: Integer?
322
+ attr_reader name: String?
323
+ end
324
+ class Block < Model
325
+ attr_reader site_id: Integer?
326
+ attr_reader name: String?
327
+ end
328
+ class PointOfInterest < Model
329
+ attr_reader id: Integer?
330
+ attr_reader site_id: Integer?
331
+ attr_reader name: String?
332
+ end
333
+ class Postcode < Model
334
+ attr_reader postcode: String?
335
+ attr_reader site_id: Integer?
336
+ end
337
+ class Office < Model
338
+ attr_reader id: Integer?
339
+ attr_reader name: String?
340
+ attr_reader site_id: Integer?
341
+ attr_reader max_parcel_dimensions: Models::Shipments::ShipmentParcelSize?
342
+ attr_reader routing_information: RoutingInformation?
343
+ end
344
+ class RoutingInformation < Model
345
+ attr_reader tour: Tour?
346
+ attr_reader office_id: Integer?
347
+ attr_reader hub_id: Integer?
348
+ attr_reader priority: Integer?
349
+ end
350
+ class Tour < Model
351
+ attr_reader number: Integer?
352
+ attr_reader office_id: Integer?
353
+ attr_reader ramp: String?
354
+ attr_reader cell: String?
355
+ end
356
+ class OfficeResult < Office
357
+ attr_reader distance: Integer?
358
+ end
359
+ class GetOfficeResponse < Model
360
+ attr_reader office: Office?
361
+ end
362
+ class GetSiteResponse < Model
363
+ attr_reader site: Site?
364
+ end
365
+ end
366
+
367
+ module Validation
368
+ class ValidationResponse < Model
369
+ attr_reader valid: bool?
370
+ def valid?: () -> bool?
371
+ end
372
+ end
373
+ end
374
+ end
metadata ADDED
@@ -0,0 +1,227 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: speedy-bg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Boyan Georgiev
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: csv
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '3.3'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '3.3'
26
+ - !ruby/object:Gem::Dependency
27
+ name: faraday
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '2.14'
33
+ - - "<"
34
+ - !ruby/object:Gem::Version
35
+ version: '3.0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '2.14'
43
+ - - "<"
44
+ - !ruby/object:Gem::Version
45
+ version: '3.0'
46
+ description: A Faraday-backed Ruby client for Speedy shipments, labels, tracking,
47
+ locations, pickups, clients, contracts, and payouts.
48
+ email:
49
+ - boyan.georgiev@smartly.io
50
+ executables: []
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - CHANGELOG.md
55
+ - CODE_OF_CONDUCT.md
56
+ - CONTRIBUTING.md
57
+ - LICENSE.txt
58
+ - README.md
59
+ - SECURITY.md
60
+ - docs/API.md
61
+ - docs/RESPONSE_CONTRACTS.md
62
+ - docs/VCR.md
63
+ - docs/schema-notes.md
64
+ - lib/speedy-bg.rb
65
+ - lib/speedy.rb
66
+ - lib/speedy/camel_case_middleware.rb
67
+ - lib/speedy/client.rb
68
+ - lib/speedy/client_resources.rb
69
+ - lib/speedy/collection.rb
70
+ - lib/speedy/error.rb
71
+ - lib/speedy/model.rb
72
+ - lib/speedy/models/calculation/address_location.rb
73
+ - lib/speedy/models/calculation/calculation_content.rb
74
+ - lib/speedy/models/calculation/calculation_recipient.rb
75
+ - lib/speedy/models/calculation/calculation_result.rb
76
+ - lib/speedy/models/calculation/calculation_sender.rb
77
+ - lib/speedy/models/calculation/calculation_service.rb
78
+ - lib/speedy/models/clients/client.rb
79
+ - lib/speedy/models/clients/cod_contract_info.rb
80
+ - lib/speedy/models/clients/cod_international_annex.rb
81
+ - lib/speedy/models/clients/contract_info.rb
82
+ - lib/speedy/models/clients/requirement.rb
83
+ - lib/speedy/models/clients/special_delivery_requirements.rb
84
+ - lib/speedy/models/common/address.rb
85
+ - lib/speedy/models/error.rb
86
+ - lib/speedy/models/location/address_nomenclature_type.rb
87
+ - lib/speedy/models/location/block.rb
88
+ - lib/speedy/models/location/complex.rb
89
+ - lib/speedy/models/location/country.rb
90
+ - lib/speedy/models/location/find_office_response.rb
91
+ - lib/speedy/models/location/find_site_response.rb
92
+ - lib/speedy/models/location/get_office_response.rb
93
+ - lib/speedy/models/location/get_site_response.rb
94
+ - lib/speedy/models/location/office.rb
95
+ - lib/speedy/models/location/office_result.rb
96
+ - lib/speedy/models/location/office_working_time_schedule.rb
97
+ - lib/speedy/models/location/point_of_interest.rb
98
+ - lib/speedy/models/location/postcode.rb
99
+ - lib/speedy/models/location/routing_information.rb
100
+ - lib/speedy/models/location/site.rb
101
+ - lib/speedy/models/location/state.rb
102
+ - lib/speedy/models/location/street.rb
103
+ - lib/speedy/models/location/tour.rb
104
+ - lib/speedy/models/payments/payout.rb
105
+ - lib/speedy/models/payments/payout_details.rb
106
+ - lib/speedy/models/pickup/pickup_order.rb
107
+ - lib/speedy/models/pickup/terms_response.rb
108
+ - lib/speedy/models/print/extended_print_response.rb
109
+ - lib/speedy/models/print/label_info.rb
110
+ - lib/speedy/models/print/label_info_response.rb
111
+ - lib/speedy/models/print/parcel_to_print_additional_barcode.rb
112
+ - lib/speedy/models/print/print_response.rb
113
+ - lib/speedy/models/response.rb
114
+ - lib/speedy/models/services/additional_courier_service.rb
115
+ - lib/speedy/models/services/additional_courier_services.rb
116
+ - lib/speedy/models/services/courier_service.rb
117
+ - lib/speedy/models/services/extended_courier_service.rb
118
+ - lib/speedy/models/shipments/bank_account.rb
119
+ - lib/speedy/models/shipments/barcode_information.rb
120
+ - lib/speedy/models/shipments/cod_payment.rb
121
+ - lib/speedy/models/shipments/content.rb
122
+ - lib/speedy/models/shipments/create_shipment_response.rb
123
+ - lib/speedy/models/shipments/created_shipment_parcel.rb
124
+ - lib/speedy/models/shipments/external_carrier_parcel_number.rb
125
+ - lib/speedy/models/shipments/goods_item.rb
126
+ - lib/speedy/models/shipments/money_transfer_premium.rb
127
+ - lib/speedy/models/shipments/parcel.rb
128
+ - lib/speedy/models/shipments/payment.rb
129
+ - lib/speedy/models/shipments/primary_shipment.rb
130
+ - lib/speedy/models/shipments/recipient.rb
131
+ - lib/speedy/models/shipments/return_amounts.rb
132
+ - lib/speedy/models/shipments/secondary_shipment.rb
133
+ - lib/speedy/models/shipments/sender.rb
134
+ - lib/speedy/models/shipments/shipment.rb
135
+ - lib/speedy/models/shipments/shipment_additional_services.rb
136
+ - lib/speedy/models/shipments/shipment_address.rb
137
+ - lib/speedy/models/shipments/shipment_cod_additional_service.rb
138
+ - lib/speedy/models/shipments/shipment_cod_fiscal_receipt_item.rb
139
+ - lib/speedy/models/shipments/shipment_content.rb
140
+ - lib/speedy/models/shipments/shipment_declared_value_additional_service.rb
141
+ - lib/speedy/models/shipments/shipment_delivery.rb
142
+ - lib/speedy/models/shipments/shipment_discount_card_id.rb
143
+ - lib/speedy/models/shipments/shipment_electronic_return_receipt_additional_service.rb
144
+ - lib/speedy/models/shipments/shipment_obpd.rb
145
+ - lib/speedy/models/shipments/shipment_parcel.rb
146
+ - lib/speedy/models/shipments/shipment_parcel_number.rb
147
+ - lib/speedy/models/shipments/shipment_parcel_ref.rb
148
+ - lib/speedy/models/shipments/shipment_parcel_size.rb
149
+ - lib/speedy/models/shipments/shipment_payment.rb
150
+ - lib/speedy/models/shipments/shipment_phone_number.rb
151
+ - lib/speedy/models/shipments/shipment_price.rb
152
+ - lib/speedy/models/shipments/shipment_price_amount.rb
153
+ - lib/speedy/models/shipments/shipment_recipient.rb
154
+ - lib/speedy/models/shipments/shipment_return_additional_services.rb
155
+ - lib/speedy/models/shipments/shipment_return_receipt_additional_service.rb
156
+ - lib/speedy/models/shipments/shipment_return_voucher_additional_service.rb
157
+ - lib/speedy/models/shipments/shipment_rod_additional_service.rb
158
+ - lib/speedy/models/shipments/shipment_rop_additional_service.rb
159
+ - lib/speedy/models/shipments/shipment_rop_additional_service_line.rb
160
+ - lib/speedy/models/shipments/shipment_sender.rb
161
+ - lib/speedy/models/shipments/shipment_service.rb
162
+ - lib/speedy/models/shipments/shipment_swap_additional_service.rb
163
+ - lib/speedy/models/shipments/update_shipment_response.rb
164
+ - lib/speedy/models/tracking/bulk_tracking_data_file.rb
165
+ - lib/speedy/models/tracking/external_carrier_parcel_number_details.rb
166
+ - lib/speedy/models/tracking/tracked_parcel.rb
167
+ - lib/speedy/models/tracking/tracked_parcel_operation.rb
168
+ - lib/speedy/models/tracking/tracked_parcel_operation_additional_info.rb
169
+ - lib/speedy/models/tracking/tracked_parcel_operation_additional_info_predict.rb
170
+ - lib/speedy/models/tracking/tracked_parcel_operation_additional_info_recipient.rb
171
+ - lib/speedy/models/validation/validation_response.rb
172
+ - lib/speedy/resource_attributes.rb
173
+ - lib/speedy/service_resource.rb
174
+ - lib/speedy/services/calculation.rb
175
+ - lib/speedy/services/clients.rb
176
+ - lib/speedy/services/courier_services.rb
177
+ - lib/speedy/services/location.rb
178
+ - lib/speedy/services/location/block.rb
179
+ - lib/speedy/services/location/complex.rb
180
+ - lib/speedy/services/location/country.rb
181
+ - lib/speedy/services/location/office.rb
182
+ - lib/speedy/services/location/point_of_interest.rb
183
+ - lib/speedy/services/location/postcode.rb
184
+ - lib/speedy/services/location/site.rb
185
+ - lib/speedy/services/location/state.rb
186
+ - lib/speedy/services/location/street.rb
187
+ - lib/speedy/services/payments.rb
188
+ - lib/speedy/services/pickup.rb
189
+ - lib/speedy/services/print.rb
190
+ - lib/speedy/services/shipments.rb
191
+ - lib/speedy/services/shipments/shipment.rb
192
+ - lib/speedy/services/tracking.rb
193
+ - lib/speedy/services/validation.rb
194
+ - lib/speedy/services/validation/address.rb
195
+ - lib/speedy/services/validation/general.rb
196
+ - lib/speedy/transport_error.rb
197
+ - lib/speedy/util.rb
198
+ - lib/speedy/version.rb
199
+ - sig/speedy.rbs
200
+ homepage: https://github.com/BoyanGeorgiev96/speedy
201
+ licenses:
202
+ - MIT
203
+ metadata:
204
+ homepage_uri: https://github.com/BoyanGeorgiev96/speedy
205
+ source_code_uri: https://github.com/BoyanGeorgiev96/speedy/tree/main
206
+ bug_tracker_uri: https://github.com/BoyanGeorgiev96/speedy/issues
207
+ changelog_uri: https://github.com/BoyanGeorgiev96/speedy/blob/main/CHANGELOG.md
208
+ documentation_uri: https://github.com/BoyanGeorgiev96/speedy/blob/main/docs/API.md
209
+ rubygems_mfa_required: 'true'
210
+ rdoc_options: []
211
+ require_paths:
212
+ - lib
213
+ required_ruby_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: 3.3.0
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ requirements: []
224
+ rubygems_version: 4.0.20
225
+ specification_version: 4
226
+ summary: Ruby client for the Speedy Bulgaria REST API.
227
+ test_files: []