deliveries 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 (81) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +19 -0
  3. data/.gitignore +12 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +34 -0
  6. data/CHANGELOG.md +13 -0
  7. data/Gemfile +12 -0
  8. data/Gemfile.lock +127 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +207 -0
  11. data/Rakefile +12 -0
  12. data/bin/console +15 -0
  13. data/bin/setup +8 -0
  14. data/deliveries.gemspec +36 -0
  15. data/lib/deliveries/address.rb +71 -0
  16. data/lib/deliveries/checkpoint.rb +12 -0
  17. data/lib/deliveries/collection_point.rb +45 -0
  18. data/lib/deliveries/courier.rb +69 -0
  19. data/lib/deliveries/couriers/correos_express/address.rb +31 -0
  20. data/lib/deliveries/couriers/correos_express/collection_points/search/format_response.rb +82 -0
  21. data/lib/deliveries/couriers/correos_express/collection_points/search.rb +56 -0
  22. data/lib/deliveries/couriers/correos_express/labels/generate.rb +68 -0
  23. data/lib/deliveries/couriers/correos_express/pickups/create/defaults.rb +60 -0
  24. data/lib/deliveries/couriers/correos_express/pickups/create/format_params.rb +95 -0
  25. data/lib/deliveries/couriers/correos_express/pickups/create.rb +66 -0
  26. data/lib/deliveries/couriers/correos_express/pickups/cutoff_time/format_params.rb +40 -0
  27. data/lib/deliveries/couriers/correos_express/pickups/cutoff_time.rb +61 -0
  28. data/lib/deliveries/couriers/correos_express/pickups/trace/correos.test.wsdl +163 -0
  29. data/lib/deliveries/couriers/correos_express/pickups/trace/correos.wsdl +163 -0
  30. data/lib/deliveries/couriers/correos_express/pickups/trace/format_response.rb +71 -0
  31. data/lib/deliveries/couriers/correos_express/pickups/trace.rb +49 -0
  32. data/lib/deliveries/couriers/correos_express/shipments/create/defaults.rb +80 -0
  33. data/lib/deliveries/couriers/correos_express/shipments/create/format_params.rb +99 -0
  34. data/lib/deliveries/couriers/correos_express/shipments/create.rb +101 -0
  35. data/lib/deliveries/couriers/correos_express/shipments/trace/format_response.rb +67 -0
  36. data/lib/deliveries/couriers/correos_express/shipments/trace.rb +65 -0
  37. data/lib/deliveries/couriers/correos_express.rb +162 -0
  38. data/lib/deliveries/couriers/dummy.rb +106 -0
  39. data/lib/deliveries/couriers/mondial_relay/address.rb +31 -0
  40. data/lib/deliveries/couriers/mondial_relay/collection_points/search/format_response.rb +103 -0
  41. data/lib/deliveries/couriers/mondial_relay/labels/generate.rb +40 -0
  42. data/lib/deliveries/couriers/mondial_relay/pickups/create/format_params.rb +57 -0
  43. data/lib/deliveries/couriers/mondial_relay/shipments/create/defaults.rb +96 -0
  44. data/lib/deliveries/couriers/mondial_relay/shipments/create/format_params.rb +68 -0
  45. data/lib/deliveries/couriers/mondial_relay/shipments/create.rb +36 -0
  46. data/lib/deliveries/couriers/mondial_relay/shipments/trace/format_response.rb +94 -0
  47. data/lib/deliveries/couriers/mondial_relay/shipments/trace.rb +47 -0
  48. data/lib/deliveries/couriers/mondial_relay/status_codes.rb +105 -0
  49. data/lib/deliveries/couriers/mondial_relay.rb +189 -0
  50. data/lib/deliveries/couriers/mondial_relay_dual/address.rb +31 -0
  51. data/lib/deliveries/couriers/mondial_relay_dual/pickups/create/format_params.rb +39 -0
  52. data/lib/deliveries/couriers/mondial_relay_dual/shipments/create/format_params.rb +101 -0
  53. data/lib/deliveries/couriers/mondial_relay_dual/shipments/create.rb +133 -0
  54. data/lib/deliveries/couriers/mondial_relay_dual.rb +105 -0
  55. data/lib/deliveries/couriers/spring/address.rb +23 -0
  56. data/lib/deliveries/couriers/spring/labels/generate.rb +33 -0
  57. data/lib/deliveries/couriers/spring/request.rb +43 -0
  58. data/lib/deliveries/couriers/spring/shipments/create/defaults.rb +73 -0
  59. data/lib/deliveries/couriers/spring/shipments/create/format_params.rb +77 -0
  60. data/lib/deliveries/couriers/spring/shipments/create.rb +45 -0
  61. data/lib/deliveries/couriers/spring/shipments/trace/format_response.rb +79 -0
  62. data/lib/deliveries/couriers/spring/shipments/trace.rb +29 -0
  63. data/lib/deliveries/couriers/spring.rb +84 -0
  64. data/lib/deliveries/couriers/ups/collection_points/search.rb +142 -0
  65. data/lib/deliveries/couriers/ups/json_request.rb +40 -0
  66. data/lib/deliveries/couriers/ups/labels/generate.rb +72 -0
  67. data/lib/deliveries/couriers/ups/shipments/create.rb +210 -0
  68. data/lib/deliveries/couriers/ups/shipments/trace.rb +79 -0
  69. data/lib/deliveries/couriers/ups.rb +122 -0
  70. data/lib/deliveries/couriers.rb +14 -0
  71. data/lib/deliveries/delivery.rb +20 -0
  72. data/lib/deliveries/errors.rb +22 -0
  73. data/lib/deliveries/label.rb +20 -0
  74. data/lib/deliveries/label_utils.rb +67 -0
  75. data/lib/deliveries/labels.rb +40 -0
  76. data/lib/deliveries/pickup.rb +15 -0
  77. data/lib/deliveries/shipment.rb +15 -0
  78. data/lib/deliveries/tracking_info.rb +29 -0
  79. data/lib/deliveries/version.rb +5 -0
  80. data/lib/deliveries.rb +63 -0
  81. metadata +240 -0
data/lib/deliveries.rb ADDED
@@ -0,0 +1,63 @@
1
+ require 'deliveries/label_utils'
2
+ require 'deliveries/address'
3
+ require 'deliveries/checkpoint'
4
+ require 'deliveries/collection_point'
5
+ require 'deliveries/courier'
6
+ require 'deliveries/couriers'
7
+ require 'deliveries/delivery'
8
+ require 'deliveries/errors'
9
+ require 'deliveries/pickup'
10
+ require 'deliveries/shipment'
11
+ require 'deliveries/tracking_info'
12
+ require 'deliveries/label'
13
+ require 'deliveries/labels'
14
+
15
+ module Deliveries
16
+ def self.mode
17
+ if instance_variable_defined? :@mode
18
+ instance_variable_get :@mode
19
+ else
20
+ :test
21
+ end
22
+ end
23
+
24
+ def self.mode=(mode)
25
+ mode = mode&.to_sym
26
+ raise "Invalid mode #{mode}" unless %i[live test].include?(mode)
27
+
28
+ instance_variable_set :@mode, mode
29
+ end
30
+
31
+ def self.test?
32
+ mode == :test
33
+ end
34
+
35
+ def self.live?
36
+ mode == :live
37
+ end
38
+
39
+ def self.logger
40
+ instance_variable_get :@logger
41
+ end
42
+
43
+ def self.logger=(logger)
44
+ instance_variable_set :@logger, logger
45
+ end
46
+
47
+ def self.debug
48
+ instance_variable_get(:@debug) == true
49
+ end
50
+
51
+ def self.debug=(debug)
52
+ instance_variable_set :@debug, debug
53
+ end
54
+
55
+ def self.courier(courier_id)
56
+ Couriers.const_get(courier_id.to_s.downcase.split('_').map(&:capitalize).join)
57
+ end
58
+
59
+ def self.get_collection_point(global_point_id)
60
+ global_point = CollectionPoint.parse_global_point_id global_point_id: global_point_id
61
+ courier(global_point.courier_id).get_collection_point global_point_id: global_point_id
62
+ end
63
+ end
metadata ADDED
@@ -0,0 +1,240 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: deliveries
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Fran Vega
8
+ - Raúl Rodríguez
9
+ - Roberto Martínez
10
+ - Pedro Guerra
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2021-09-27 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: activesupport
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 5.2.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 5.2.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: hexapdf
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ - !ruby/object:Gem::Dependency
45
+ name: httparty
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ - !ruby/object:Gem::Dependency
59
+ name: mini_magick
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ - !ruby/object:Gem::Dependency
73
+ name: nokogiri
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ - !ruby/object:Gem::Dependency
87
+ name: savon
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '2.8'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.8'
100
+ - !ruby/object:Gem::Dependency
101
+ name: byebug
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: webmock
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '3.5'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '3.5'
128
+ description:
129
+ email:
130
+ - admin@micolet.com
131
+ executables: []
132
+ extensions: []
133
+ extra_rdoc_files: []
134
+ files:
135
+ - ".github/workflows/main.yml"
136
+ - ".gitignore"
137
+ - ".rspec"
138
+ - ".rubocop.yml"
139
+ - CHANGELOG.md
140
+ - Gemfile
141
+ - Gemfile.lock
142
+ - LICENSE.txt
143
+ - README.md
144
+ - Rakefile
145
+ - bin/console
146
+ - bin/setup
147
+ - deliveries.gemspec
148
+ - lib/deliveries.rb
149
+ - lib/deliveries/address.rb
150
+ - lib/deliveries/checkpoint.rb
151
+ - lib/deliveries/collection_point.rb
152
+ - lib/deliveries/courier.rb
153
+ - lib/deliveries/couriers.rb
154
+ - lib/deliveries/couriers/correos_express.rb
155
+ - lib/deliveries/couriers/correos_express/address.rb
156
+ - lib/deliveries/couriers/correos_express/collection_points/search.rb
157
+ - lib/deliveries/couriers/correos_express/collection_points/search/format_response.rb
158
+ - lib/deliveries/couriers/correos_express/labels/generate.rb
159
+ - lib/deliveries/couriers/correos_express/pickups/create.rb
160
+ - lib/deliveries/couriers/correos_express/pickups/create/defaults.rb
161
+ - lib/deliveries/couriers/correos_express/pickups/create/format_params.rb
162
+ - lib/deliveries/couriers/correos_express/pickups/cutoff_time.rb
163
+ - lib/deliveries/couriers/correos_express/pickups/cutoff_time/format_params.rb
164
+ - lib/deliveries/couriers/correos_express/pickups/trace.rb
165
+ - lib/deliveries/couriers/correos_express/pickups/trace/correos.test.wsdl
166
+ - lib/deliveries/couriers/correos_express/pickups/trace/correos.wsdl
167
+ - lib/deliveries/couriers/correos_express/pickups/trace/format_response.rb
168
+ - lib/deliveries/couriers/correos_express/shipments/create.rb
169
+ - lib/deliveries/couriers/correos_express/shipments/create/defaults.rb
170
+ - lib/deliveries/couriers/correos_express/shipments/create/format_params.rb
171
+ - lib/deliveries/couriers/correos_express/shipments/trace.rb
172
+ - lib/deliveries/couriers/correos_express/shipments/trace/format_response.rb
173
+ - lib/deliveries/couriers/dummy.rb
174
+ - lib/deliveries/couriers/mondial_relay.rb
175
+ - lib/deliveries/couriers/mondial_relay/address.rb
176
+ - lib/deliveries/couriers/mondial_relay/collection_points/search/format_response.rb
177
+ - lib/deliveries/couriers/mondial_relay/labels/generate.rb
178
+ - lib/deliveries/couriers/mondial_relay/pickups/create/format_params.rb
179
+ - lib/deliveries/couriers/mondial_relay/shipments/create.rb
180
+ - lib/deliveries/couriers/mondial_relay/shipments/create/defaults.rb
181
+ - lib/deliveries/couriers/mondial_relay/shipments/create/format_params.rb
182
+ - lib/deliveries/couriers/mondial_relay/shipments/trace.rb
183
+ - lib/deliveries/couriers/mondial_relay/shipments/trace/format_response.rb
184
+ - lib/deliveries/couriers/mondial_relay/status_codes.rb
185
+ - lib/deliveries/couriers/mondial_relay_dual.rb
186
+ - lib/deliveries/couriers/mondial_relay_dual/address.rb
187
+ - lib/deliveries/couriers/mondial_relay_dual/pickups/create/format_params.rb
188
+ - lib/deliveries/couriers/mondial_relay_dual/shipments/create.rb
189
+ - lib/deliveries/couriers/mondial_relay_dual/shipments/create/format_params.rb
190
+ - lib/deliveries/couriers/spring.rb
191
+ - lib/deliveries/couriers/spring/address.rb
192
+ - lib/deliveries/couriers/spring/labels/generate.rb
193
+ - lib/deliveries/couriers/spring/request.rb
194
+ - lib/deliveries/couriers/spring/shipments/create.rb
195
+ - lib/deliveries/couriers/spring/shipments/create/defaults.rb
196
+ - lib/deliveries/couriers/spring/shipments/create/format_params.rb
197
+ - lib/deliveries/couriers/spring/shipments/trace.rb
198
+ - lib/deliveries/couriers/spring/shipments/trace/format_response.rb
199
+ - lib/deliveries/couriers/ups.rb
200
+ - lib/deliveries/couriers/ups/collection_points/search.rb
201
+ - lib/deliveries/couriers/ups/json_request.rb
202
+ - lib/deliveries/couriers/ups/labels/generate.rb
203
+ - lib/deliveries/couriers/ups/shipments/create.rb
204
+ - lib/deliveries/couriers/ups/shipments/trace.rb
205
+ - lib/deliveries/delivery.rb
206
+ - lib/deliveries/errors.rb
207
+ - lib/deliveries/label.rb
208
+ - lib/deliveries/label_utils.rb
209
+ - lib/deliveries/labels.rb
210
+ - lib/deliveries/pickup.rb
211
+ - lib/deliveries/shipment.rb
212
+ - lib/deliveries/tracking_info.rb
213
+ - lib/deliveries/version.rb
214
+ homepage: https://github.com/ecommerce-ventures/deliveries
215
+ licenses:
216
+ - MIT
217
+ metadata:
218
+ homepage_uri: https://github.com/ecommerce-ventures/deliveries
219
+ source_code_uri: https://github.com/ecommerce-ventures/deliveries
220
+ changelog_uri: https://github.com/ecommerce-ventures/deliveries/CHANGELOG.md
221
+ post_install_message:
222
+ rdoc_options: []
223
+ require_paths:
224
+ - lib
225
+ required_ruby_version: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: 2.6.7
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ requirements: []
236
+ rubygems_version: 3.0.3.1
237
+ signing_key:
238
+ specification_version: 4
239
+ summary: Library to abstract multiple courier web services.
240
+ test_files: []