easypost 4.11.0 → 4.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +5 -1
  4. data/VERSION +1 -1
  5. data/easypost.gemspec +2 -2
  6. data/lib/easypost/beta/rate.rb +14 -0
  7. data/lib/easypost/beta.rb +1 -0
  8. data/lib/easypost/billing.rb +6 -6
  9. data/lib/easypost/util.rb +52 -0
  10. metadata +3 -83
  11. data/docs/EasyPost/Address.html +0 -222
  12. data/docs/EasyPost/ApiKey.html +0 -99
  13. data/docs/EasyPost/Batch.html +0 -269
  14. data/docs/EasyPost/Beta/EndShipper.html +0 -225
  15. data/docs/EasyPost/Beta/Referral.html +0 -338
  16. data/docs/EasyPost/Beta.html +0 -91
  17. data/docs/EasyPost/Billing.html +0 -253
  18. data/docs/EasyPost/Brand.html +0 -140
  19. data/docs/EasyPost/CarbonOffset.html +0 -99
  20. data/docs/EasyPost/CarrierAccount.html +0 -136
  21. data/docs/EasyPost/CarrierType.html +0 -99
  22. data/docs/EasyPost/CustomsInfo.html +0 -136
  23. data/docs/EasyPost/CustomsItem.html +0 -136
  24. data/docs/EasyPost/EasyPostObject.html +0 -662
  25. data/docs/EasyPost/EndShipper.html +0 -175
  26. data/docs/EasyPost/Error.html +0 -258
  27. data/docs/EasyPost/Event.html +0 -136
  28. data/docs/EasyPost/Insurance.html +0 -99
  29. data/docs/EasyPost/Order.html +0 -222
  30. data/docs/EasyPost/Parcel.html +0 -136
  31. data/docs/EasyPost/PaymentMethod.html +0 -137
  32. data/docs/EasyPost/Pickup.html +0 -222
  33. data/docs/EasyPost/PickupRate.html +0 -99
  34. data/docs/EasyPost/PostageLabel.html +0 -99
  35. data/docs/EasyPost/Rate.html +0 -136
  36. data/docs/EasyPost/Referral.html +0 -334
  37. data/docs/EasyPost/Refund.html +0 -99
  38. data/docs/EasyPost/Report.html +0 -167
  39. data/docs/EasyPost/Resource.html +0 -399
  40. data/docs/EasyPost/ScanForm.html +0 -137
  41. data/docs/EasyPost/Shipment.html +0 -456
  42. data/docs/EasyPost/TaxIdentifier.html +0 -99
  43. data/docs/EasyPost/Tracker.html +0 -139
  44. data/docs/EasyPost/User.html +0 -307
  45. data/docs/EasyPost/Util.html +0 -462
  46. data/docs/EasyPost/Webhook.html +0 -221
  47. data/docs/EasyPost.html +0 -440
  48. data/docs/created.rid +0 -40
  49. data/docs/css/fonts.css +0 -167
  50. data/docs/css/rdoc.css +0 -639
  51. data/docs/fonts/Lato-Light.ttf +0 -0
  52. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  53. data/docs/fonts/Lato-Regular.ttf +0 -0
  54. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  55. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  56. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  57. data/docs/images/add.png +0 -0
  58. data/docs/images/arrow_up.png +0 -0
  59. data/docs/images/brick.png +0 -0
  60. data/docs/images/brick_link.png +0 -0
  61. data/docs/images/bug.png +0 -0
  62. data/docs/images/bullet_black.png +0 -0
  63. data/docs/images/bullet_toggle_minus.png +0 -0
  64. data/docs/images/bullet_toggle_plus.png +0 -0
  65. data/docs/images/date.png +0 -0
  66. data/docs/images/delete.png +0 -0
  67. data/docs/images/find.png +0 -0
  68. data/docs/images/loadingAnimation.gif +0 -0
  69. data/docs/images/macFFBgHack.png +0 -0
  70. data/docs/images/package.png +0 -0
  71. data/docs/images/page_green.png +0 -0
  72. data/docs/images/page_white_text.png +0 -0
  73. data/docs/images/page_white_width.png +0 -0
  74. data/docs/images/plugin.png +0 -0
  75. data/docs/images/ruby.png +0 -0
  76. data/docs/images/tag_blue.png +0 -0
  77. data/docs/images/tag_green.png +0 -0
  78. data/docs/images/transparent.png +0 -0
  79. data/docs/images/wrench.png +0 -0
  80. data/docs/images/wrench_orange.png +0 -0
  81. data/docs/images/zoom.png +0 -0
  82. data/docs/index.html +0 -117
  83. data/docs/js/darkfish.js +0 -84
  84. data/docs/js/navigation.js +0 -105
  85. data/docs/js/navigation.js.gz +0 -0
  86. data/docs/js/search.js +0 -110
  87. data/docs/js/search_index.js +0 -1
  88. data/docs/js/search_index.js.gz +0 -0
  89. data/docs/js/searcher.js +0 -229
  90. data/docs/js/searcher.js.gz +0 -0
  91. data/docs/table_of_contents.html +0 -785
@@ -1,462 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>module EasyPost::Util - EasyPost Ruby Docs</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
14
- <script src="../js/navigation.js" defer></script>
15
- <script src="../js/search.js" defer></script>
16
- <script src="../js/search_index.js" defer></script>
17
- <script src="../js/searcher.js" defer></script>
18
- <script src="../js/darkfish.js" defer></script>
19
-
20
- <link href="../css/fonts.css" rel="stylesheet">
21
- <link href="../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="module">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
-
61
-
62
-
63
-
64
- <!-- Method Quickref -->
65
- <div id="method-list-section" class="nav-section">
66
- <h3>Methods</h3>
67
-
68
- <ul class="link-list" role="directory">
69
- <li ><a href="#method-c-build_dict_key">::build_dict_key</a>
70
- <li ><a href="#method-c-convert_to_easypost_object">::convert_to_easypost_object</a>
71
- <li ><a href="#method-c-form_encode_params">::form_encode_params</a>
72
- <li ><a href="#method-c-get_lowest_object_rate">::get_lowest_object_rate</a>
73
- <li ><a href="#method-c-normalize_string_list">::normalize_string_list</a>
74
- <li ><a href="#method-c-objects_to_ids">::objects_to_ids</a>
75
- <li ><a href="#method-c-os_arch">::os_arch</a>
76
- <li ><a href="#method-c-os_name">::os_name</a>
77
- <li ><a href="#method-c-os_version">::os_version</a>
78
- </ul>
79
- </div>
80
-
81
- </div>
82
- </nav>
83
-
84
- <main role="main" aria-labelledby="module-EasyPost::Util">
85
- <h1 id="module-EasyPost::Util" class="module">
86
- module EasyPost::Util
87
- </h1>
88
-
89
- <section class="description">
90
-
91
- <p>Internal utilities helpful for this libraries operation.</p>
92
-
93
- </section>
94
-
95
- <section id="5Buntitled-5D" class="documentation-section">
96
-
97
-
98
- <section class="constants-list">
99
- <header>
100
- <h3>Constants</h3>
101
- </header>
102
- <dl>
103
- <dt id="BY_PREFIX">BY_PREFIX
104
- <dd>
105
- <dt id="BY_TYPE">BY_TYPE
106
- <dd>
107
- </dl>
108
- </section>
109
-
110
- <section class="attribute-method-details" class="method-section">
111
- <header>
112
- <h3>Attributes</h3>
113
- </header>
114
-
115
- <div id="attribute-i-os_arch" class="method-detail">
116
- <div class="method-heading attribute-method-heading">
117
- <span class="method-name">os_arch</span><span
118
- class="attribute-access-type">[RW]</span>
119
- </div>
120
-
121
- <div class="method-description">
122
-
123
- </div>
124
- </div>
125
- <div id="attribute-i-os_name" class="method-detail">
126
- <div class="method-heading attribute-method-heading">
127
- <span class="method-name">os_name</span><span
128
- class="attribute-access-type">[RW]</span>
129
- </div>
130
-
131
- <div class="method-description">
132
-
133
- </div>
134
- </div>
135
- <div id="attribute-i-os_version" class="method-detail">
136
- <div class="method-heading attribute-method-heading">
137
- <span class="method-name">os_version</span><span
138
- class="attribute-access-type">[RW]</span>
139
- </div>
140
-
141
- <div class="method-description">
142
-
143
- </div>
144
- </div>
145
- </section>
146
-
147
-
148
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
149
- <header>
150
- <h3>Public Class Methods</h3>
151
- </header>
152
-
153
- <div id="method-c-build_dict_key" class="method-detail ">
154
- <div class="method-heading">
155
- <span class="method-name">build_dict_key</span><span
156
- class="method-args">(keys)</span>
157
- <span class="method-click-advice">click to toggle source</span>
158
- </div>
159
-
160
- <div class="method-description">
161
- <p>Build a dict key from a list of keys. Example: [code, number] -&gt; <a href="number">code</a></p>
162
-
163
- <div class="method-source-code" id="build_dict_key-source">
164
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 109</span>
165
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">build_dict_key</span>(<span class="ruby-identifier">keys</span>)
166
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">keys</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_s</span>
167
-
168
- <span class="ruby-identifier">keys</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
169
- <span class="ruby-identifier">result</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;[#{key}]&quot;</span>
170
- <span class="ruby-keyword">end</span>
171
-
172
- <span class="ruby-identifier">result</span>
173
- <span class="ruby-keyword">end</span></pre>
174
- </div>
175
- </div>
176
-
177
-
178
- </div>
179
-
180
- <div id="method-c-convert_to_easypost_object" class="method-detail ">
181
- <div class="method-heading">
182
- <span class="method-name">convert_to_easypost_object</span><span
183
- class="method-args">(response, api_key, parent = nil, name = nil)</span>
184
- <span class="method-click-advice">click to toggle source</span>
185
- </div>
186
-
187
- <div class="method-description">
188
- <p>Convert data to an <a href="../EasyPost.html"><code>EasyPost</code></a> Object.</p>
189
-
190
- <div class="method-source-code" id="convert_to_easypost_object-source">
191
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 142</span>
192
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">convert_to_easypost_object</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">api_key</span>, <span class="ruby-identifier">parent</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>)
193
- <span class="ruby-keyword">case</span> <span class="ruby-identifier">response</span>
194
- <span class="ruby-keyword">when</span> <span class="ruby-constant">Array</span>
195
- <span class="ruby-identifier">response</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">convert_to_easypost_object</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">api_key</span>, <span class="ruby-identifier">parent</span>) }
196
- <span class="ruby-keyword">when</span> <span class="ruby-constant">Hash</span>
197
- <span class="ruby-keyword">if</span> (<span class="ruby-identifier">cls_name</span> = <span class="ruby-identifier">response</span>[<span class="ruby-value">:object</span>])
198
- <span class="ruby-identifier">cls</span> = <span class="ruby-constant">BY_TYPE</span>[<span class="ruby-identifier">cls_name</span>]
199
- <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>[<span class="ruby-value">:id</span>]
200
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>[<span class="ruby-value">:id</span>].<span class="ruby-identifier">index</span>(<span class="ruby-string">&#39;_&#39;</span>).<span class="ruby-identifier">nil?</span>
201
- <span class="ruby-identifier">cls</span> = <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">EasyPostObject</span>
202
- <span class="ruby-keyword">elsif</span> (<span class="ruby-identifier">cls_prefix</span> = <span class="ruby-identifier">response</span>[<span class="ruby-value">:id</span>][<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">response</span>[<span class="ruby-value">:id</span>].<span class="ruby-identifier">index</span>(<span class="ruby-string">&#39;_&#39;</span>)])
203
- <span class="ruby-identifier">cls</span> = <span class="ruby-constant">BY_PREFIX</span>[<span class="ruby-identifier">cls_prefix</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">-2</span>]]
204
- <span class="ruby-keyword">end</span>
205
- <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>[<span class="ruby-string">&#39;id&#39;</span>]
206
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>[<span class="ruby-string">&#39;id&#39;</span>].<span class="ruby-identifier">index</span>(<span class="ruby-string">&#39;_&#39;</span>).<span class="ruby-identifier">nil?</span>
207
- <span class="ruby-identifier">cls</span> = <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">EasyPostObject</span>
208
- <span class="ruby-keyword">elsif</span> (<span class="ruby-identifier">cls_prefix</span> = <span class="ruby-identifier">response</span>[<span class="ruby-string">&#39;id&#39;</span>][<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">response</span>[<span class="ruby-string">&#39;id&#39;</span>].<span class="ruby-identifier">index</span>(<span class="ruby-string">&#39;_&#39;</span>)])
209
- <span class="ruby-identifier">cls</span> = <span class="ruby-constant">BY_PREFIX</span>[<span class="ruby-identifier">cls_prefix</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">-2</span>]]
210
- <span class="ruby-keyword">end</span>
211
- <span class="ruby-keyword">end</span>
212
-
213
- <span class="ruby-identifier">cls</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">EasyPostObject</span>
214
- <span class="ruby-identifier">cls</span>.<span class="ruby-identifier">construct_from</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">api_key</span>, <span class="ruby-identifier">parent</span>, <span class="ruby-identifier">name</span>)
215
- <span class="ruby-keyword">else</span>
216
- <span class="ruby-identifier">response</span>
217
- <span class="ruby-keyword">end</span>
218
- <span class="ruby-keyword">end</span></pre>
219
- </div>
220
- </div>
221
-
222
-
223
- </div>
224
-
225
- <div id="method-c-form_encode_params" class="method-detail ">
226
- <div class="method-heading">
227
- <span class="method-name">form_encode_params</span><span
228
- class="method-args">(hash, parent_keys = [], parent_dict = {})</span>
229
- <span class="method-click-advice">click to toggle source</span>
230
- </div>
231
-
232
- <div class="method-description">
233
- <p>Form-encode a multi-layer dictionary to a one-layer dictionary.</p>
234
-
235
- <div class="method-source-code" id="form_encode_params-source">
236
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 91</span>
237
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">form_encode_params</span>(<span class="ruby-identifier">hash</span>, <span class="ruby-identifier">parent_keys</span> = [], <span class="ruby-identifier">parent_dict</span> = {})
238
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">parent_dict</span> <span class="ruby-keyword">or</span> {}
239
- <span class="ruby-identifier">keys</span> = <span class="ruby-identifier">parent_keys</span> <span class="ruby-keyword">or</span> []
240
-
241
- <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
242
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Hash</span>)
243
- <span class="ruby-identifier">keys</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">key</span>
244
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">form_encode_params</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">keys</span>, <span class="ruby-identifier">result</span>)
245
- <span class="ruby-keyword">else</span>
246
- <span class="ruby-identifier">dict_key</span> = <span class="ruby-identifier">build_dict_key</span>(<span class="ruby-identifier">keys</span> <span class="ruby-operator">+</span> [<span class="ruby-identifier">key</span>])
247
- <span class="ruby-identifier">result</span>[<span class="ruby-identifier">dict_key</span>] = <span class="ruby-identifier">value</span>
248
- <span class="ruby-keyword">end</span>
249
- <span class="ruby-keyword">end</span>
250
- <span class="ruby-identifier">result</span>
251
- <span class="ruby-keyword">end</span></pre>
252
- </div>
253
- </div>
254
-
255
-
256
- </div>
257
-
258
- <div id="method-c-get_lowest_object_rate" class="method-detail ">
259
- <div class="method-heading">
260
- <span class="method-name">get_lowest_object_rate</span><span
261
- class="method-args">(easypost_object, carriers = [], services = [], rates_key = &#39;rates&#39;)</span>
262
- <span class="method-click-advice">click to toggle source</span>
263
- </div>
264
-
265
- <div class="method-description">
266
- <p>Gets the lowest rate of an <a href="../EasyPost.html"><code>EasyPost</code></a> object such as a <a href="Shipment.html"><code>Shipment</code></a>, <a href="Order.html"><code>Order</code></a>, or <a href="Pickup.html"><code>Pickup</code></a>. You can exclude by having ‘’!‘` as the first element of your optional filter lists</p>
267
-
268
- <div class="method-source-code" id="get_lowest_object_rate-source">
269
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 172</span>
270
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">get_lowest_object_rate</span>(<span class="ruby-identifier">easypost_object</span>, <span class="ruby-identifier">carriers</span> = [], <span class="ruby-identifier">services</span> = [], <span class="ruby-identifier">rates_key</span> = <span class="ruby-string">&#39;rates&#39;</span>)
271
- <span class="ruby-identifier">lowest_rate</span> = <span class="ruby-keyword">nil</span>
272
-
273
- <span class="ruby-identifier">carriers</span> = <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">normalize_string_list</span>(<span class="ruby-identifier">carriers</span>)
274
- <span class="ruby-identifier">negative_carriers</span> = []
275
- <span class="ruby-identifier">carriers_copy</span> = <span class="ruby-identifier">carriers</span>.<span class="ruby-identifier">clone</span>
276
- <span class="ruby-identifier">carriers_copy</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">carrier</span><span class="ruby-operator">|</span>
277
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">carrier</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;!&#39;</span>
278
- <span class="ruby-identifier">negative_carriers</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">carrier</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
279
- <span class="ruby-identifier">carriers</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">carrier</span>)
280
- <span class="ruby-keyword">end</span>
281
- <span class="ruby-keyword">end</span>
282
-
283
- <span class="ruby-identifier">services</span> = <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">normalize_string_list</span>(<span class="ruby-identifier">services</span>)
284
- <span class="ruby-identifier">negative_services</span> = []
285
- <span class="ruby-identifier">services_copy</span> = <span class="ruby-identifier">services</span>.<span class="ruby-identifier">clone</span>
286
- <span class="ruby-identifier">services_copy</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">service</span><span class="ruby-operator">|</span>
287
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">service</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;!&#39;</span>
288
- <span class="ruby-identifier">negative_services</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">service</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
289
- <span class="ruby-identifier">services</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">service</span>)
290
- <span class="ruby-keyword">end</span>
291
- <span class="ruby-keyword">end</span>
292
-
293
- <span class="ruby-identifier">easypost_object</span>[<span class="ruby-identifier">rates_key</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rate</span><span class="ruby-operator">|</span>
294
- <span class="ruby-identifier">rate_carrier</span> = <span class="ruby-identifier">rate</span>.<span class="ruby-identifier">carrier</span>.<span class="ruby-identifier">downcase</span>
295
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">carriers</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">positive?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">carriers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">rate_carrier</span>)
296
- <span class="ruby-keyword">next</span>
297
- <span class="ruby-keyword">end</span>
298
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">negative_carriers</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">positive?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">negative_carriers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">rate_carrier</span>)
299
- <span class="ruby-keyword">next</span>
300
- <span class="ruby-keyword">end</span>
301
-
302
- <span class="ruby-identifier">rate_service</span> = <span class="ruby-identifier">rate</span>.<span class="ruby-identifier">service</span>.<span class="ruby-identifier">downcase</span>
303
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">services</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">positive?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">services</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">rate_service</span>)
304
- <span class="ruby-keyword">next</span>
305
- <span class="ruby-keyword">end</span>
306
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">negative_services</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">positive?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">negative_services</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">rate_service</span>)
307
- <span class="ruby-keyword">next</span>
308
- <span class="ruby-keyword">end</span>
309
-
310
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">lowest_rate</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">rate</span>.<span class="ruby-identifier">rate</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">lowest_rate</span>.<span class="ruby-identifier">rate</span>.<span class="ruby-identifier">to_f</span>
311
- <span class="ruby-identifier">lowest_rate</span> = <span class="ruby-identifier">rate</span>
312
- <span class="ruby-keyword">end</span>
313
- <span class="ruby-keyword">end</span>
314
-
315
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&#39;No rates found.&#39;</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">lowest_rate</span>.<span class="ruby-identifier">nil?</span>
316
-
317
- <span class="ruby-identifier">lowest_rate</span>
318
- <span class="ruby-keyword">end</span></pre>
319
- </div>
320
- </div>
321
-
322
-
323
- </div>
324
-
325
- <div id="method-c-normalize_string_list" class="method-detail ">
326
- <div class="method-heading">
327
- <span class="method-name">normalize_string_list</span><span
328
- class="method-args">(lst)</span>
329
- <span class="method-click-advice">click to toggle source</span>
330
- </div>
331
-
332
- <div class="method-description">
333
- <p>Normalizes a list of strings.</p>
334
-
335
- <div class="method-source-code" id="normalize_string_list-source">
336
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 136</span>
337
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">normalize_string_list</span>(<span class="ruby-identifier">lst</span>)
338
- <span class="ruby-identifier">lst</span> = <span class="ruby-identifier">lst</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">lst</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;,&#39;</span>) <span class="ruby-operator">:</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">lst</span>)
339
- <span class="ruby-identifier">lst</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:to_s</span>).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:downcase</span>).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:strip</span>)
340
- <span class="ruby-keyword">end</span></pre>
341
- </div>
342
- </div>
343
-
344
-
345
- </div>
346
-
347
- <div id="method-c-objects_to_ids" class="method-detail ">
348
- <div class="method-heading">
349
- <span class="method-name">objects_to_ids</span><span
350
- class="method-args">(obj)</span>
351
- <span class="method-click-advice">click to toggle source</span>
352
- </div>
353
-
354
- <div class="method-description">
355
- <p>Converts an object to an object ID.</p>
356
-
357
- <div class="method-source-code" id="objects_to_ids-source">
358
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 120</span>
359
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">objects_to_ids</span>(<span class="ruby-identifier">obj</span>)
360
- <span class="ruby-keyword">case</span> <span class="ruby-identifier">obj</span>
361
- <span class="ruby-keyword">when</span> <span class="ruby-constant">EasyPost</span><span class="ruby-operator">::</span><span class="ruby-constant">Resource</span>
362
- { <span class="ruby-value">id:</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">id</span> }
363
- <span class="ruby-keyword">when</span> <span class="ruby-constant">Hash</span>
364
- <span class="ruby-identifier">result</span> = {}
365
- <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">result</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">objects_to_ids</span>(<span class="ruby-identifier">v</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">nil?</span> }
366
- <span class="ruby-identifier">result</span>
367
- <span class="ruby-keyword">when</span> <span class="ruby-constant">Array</span>
368
- <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">objects_to_ids</span>(<span class="ruby-identifier">v</span>) }
369
- <span class="ruby-keyword">else</span>
370
- <span class="ruby-identifier">obj</span>
371
- <span class="ruby-keyword">end</span>
372
- <span class="ruby-keyword">end</span></pre>
373
- </div>
374
- </div>
375
-
376
-
377
- </div>
378
-
379
- <div id="method-c-os_arch" class="method-detail ">
380
- <div class="method-heading">
381
- <span class="method-name">os_arch</span><span
382
- class="method-args">()</span>
383
- <span class="method-click-advice">click to toggle source</span>
384
- </div>
385
-
386
- <div class="method-description">
387
-
388
-
389
- <div class="method-source-code" id="os_arch-source">
390
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 86</span>
391
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">os_arch</span>
392
- <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">cpu</span>
393
- <span class="ruby-keyword">end</span></pre>
394
- </div>
395
- </div>
396
-
397
-
398
- </div>
399
-
400
- <div id="method-c-os_name" class="method-detail ">
401
- <div class="method-heading">
402
- <span class="method-name">os_name</span><span
403
- class="method-args">()</span>
404
- <span class="method-click-advice">click to toggle source</span>
405
- </div>
406
-
407
- <div class="method-description">
408
-
409
-
410
- <div class="method-source-code" id="os_name-source">
411
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 69</span>
412
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">os_name</span>
413
- <span class="ruby-keyword">case</span> <span class="ruby-constant">RUBY_PLATFORM</span>
414
- <span class="ruby-keyword">when</span> <span class="ruby-regexp">/linux/i</span>
415
- <span class="ruby-string">&#39;Linux&#39;</span>
416
- <span class="ruby-keyword">when</span> <span class="ruby-regexp">/darwin/i</span>
417
- <span class="ruby-string">&#39;Darwin&#39;</span>
418
- <span class="ruby-keyword">when</span> <span class="ruby-regexp">/cygwin|mswin|mingw|bccwin|wince|emx/i</span>
419
- <span class="ruby-string">&#39;Windows&#39;</span>
420
- <span class="ruby-keyword">else</span>
421
- <span class="ruby-string">&#39;Unknown&#39;</span>
422
- <span class="ruby-keyword">end</span>
423
- <span class="ruby-keyword">end</span></pre>
424
- </div>
425
- </div>
426
-
427
-
428
- </div>
429
-
430
- <div id="method-c-os_version" class="method-detail ">
431
- <div class="method-heading">
432
- <span class="method-name">os_version</span><span
433
- class="method-args">()</span>
434
- <span class="method-click-advice">click to toggle source</span>
435
- </div>
436
-
437
- <div class="method-description">
438
-
439
-
440
- <div class="method-source-code" id="os_version-source">
441
- <pre><span class="ruby-comment"># File lib/easypost/util.rb, line 82</span>
442
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">os_version</span>
443
- <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">version</span>
444
- <span class="ruby-keyword">end</span></pre>
445
- </div>
446
- </div>
447
-
448
-
449
- </div>
450
-
451
- </section>
452
-
453
- </section>
454
- </main>
455
-
456
-
457
- <footer id="validator-badges" role="contentinfo">
458
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
459
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.
460
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
461
- </footer>
462
-