me_api 1.1.2 → 2.0.1

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: e746281011a0287a4789c9e84156710883e3d9a2c8959b4b66efd0b4d0b0c26c
4
- data.tar.gz: b6601ef3f21c03db8b4b21856715a640fd3b0253024c6bb70738c55a0e2dbf09
3
+ metadata.gz: cfc8187d341f9169f849ce00e3ae110d2324bdaf6e0165decf88ab30d1516c6f
4
+ data.tar.gz: 55d08d677560a702d60c3056098535d4f98dc51ddeb46bd12a1b09a89dcf49de
5
5
  SHA512:
6
- metadata.gz: b632c7dc5e2b54c0a9b06fbeb6385d65989bc33c72bd0bbbe5037e82c9522cb3c9e957a17735e0c5d024606a8dff0558b3bd91cde8c4e416beb45a7ac2a2ed95
7
- data.tar.gz: 3c0ad7affbf4bfdbd032607687df954b94f8059cc44cb97bc0488e86baf37fc19e1ac3a881821b9305c3cc88f239fb3610610510a6106a02e14c029ff74af504
6
+ metadata.gz: 2641e88b5c8d5202e19b5c4892e7f53fc16a1cf6f445431d45d3ff971947df487225014ee21fd98fac33ba31b547336351068d70f61585693a50d3276988253d
7
+ data.tar.gz: cb9432e793d3571f993d0d8f1276050ef7472867f8cc81736f742e910dd2d71258cdccc03a0451cefe9d13ae52b3affcab34d8d9dbc1b5650b4ebbeb1e6f2b85
data/lib/me_api/client.rb CHANGED
@@ -4,15 +4,7 @@ module MeApi
4
4
  SAVE_RESPONSES = true
5
5
  Rate = Data.define(:id, :from, :to, :price, :min_delivery_time, :max_delivery_time, :service_name, :carrier_name, :carrier_logo_url)
6
6
 
7
- attr_reader :default_height, :default_width, :default_length
8
- def initialize(access_token = nil, default_height: 24, default_width: 16, default_length: 10)
9
- @default_height = default_height
10
- @default_width = default_width
11
- @default_length = default_length
12
- super access_token
13
- end
14
-
15
- def rates(from:, to:, weight_kg:, contents_value_brl:, height_cm: default_height, width_cm: default_width, length_cm: default_length)
7
+ def rates(from:, to:, weight_kg:, contents_value_brl:, height_cm:, width_cm:, length_cm:)
16
8
  body = {
17
9
  "from" => {
18
10
  "postal_code" => from
@@ -33,20 +25,21 @@ module MeApi
33
25
  },
34
26
  "services" => "1,2,3,4,17,33"
35
27
  }
36
- response = post("api/v2/me/shipment/calculate", body: JSON.dump(body)) { |response| validate_response(response, [0, "id"]) }
37
- response.json.map do |rate|
28
+ response = post("api/v2/me/shipment/calculate", body:) { _1.first.name }
29
+ response.map do |rate|
30
+ next unless rate["error"].blank? && rate["price"]
38
31
  Rate.new(
39
- id: rate["id"],
32
+ id: rate.id,
40
33
  from: from,
41
34
  to: to,
42
- price: rate["price"].to_f,
43
- min_delivery_time: rate.dig("delivery_range", "min"),
44
- max_delivery_time: rate.dig("delivery_range", "max"),
45
- service_name: rate["name"],
46
- carrier_name: rate["company"]["name"],
47
- carrier_logo_url: rate["company"]["picture"]
35
+ price: rate.price.to_f,
36
+ min_delivery_time: rate.delivery_range.min,
37
+ max_delivery_time: rate.delivery_range.max,
38
+ service_name: rate.name,
39
+ carrier_name: rate.company.name,
40
+ carrier_logo_url: rate.company.picture
48
41
  )
49
- end
42
+ end.compact
50
43
  end
51
44
 
52
45
  def refresh_token(client_id:, client_secret:, refresh_token:)
@@ -56,7 +49,7 @@ module MeApi
56
49
  client_secret: client_secret,
57
50
  refresh_token: refresh_token
58
51
  }
59
- post("/oauth/token", body: JSON.dump(body), headers: {"Content-Type": "application/json"}) { |response| validate_response(response, "access_token") }
52
+ post("/oauth/token", body:)
60
53
  end
61
54
 
62
55
  def authorize client_id:, client_secret:, code:, redirect_url:
@@ -67,14 +60,7 @@ module MeApi
67
60
  code: code,
68
61
  redirect_uri: redirect_url
69
62
  }
70
- post("/oauth/token", body: JSON.dump(body), headers: {"Content-Type": "application/json"}) { |response| validate_response(response, "access_token") }
71
- end
72
-
73
- private
74
-
75
- def validate_response(response, required_response_key)
76
- puts response.json unless response.success?
77
- ![500, 429].include?(response.code) || response.json.dig(*required_response_key)
63
+ post("/oauth/token", body:, skip_authentication: true)
78
64
  end
79
65
  end
80
66
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MeApi
4
- VERSION = "1.1.2"
4
+ VERSION = "2.0.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: me_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todas Essas Coisas
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-10-28 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: ac
@@ -24,7 +23,6 @@ dependencies:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
25
  version: '0'
27
- description:
28
26
  email:
29
27
  - contato7bulloleo@gmail.com
30
28
  executables: []
@@ -46,7 +44,6 @@ licenses:
46
44
  metadata:
47
45
  homepage_uri: https://github.com/todasessascoisas/me_api
48
46
  source_code_uri: https://github.com/todasessascoisas/me_api
49
- post_install_message:
50
47
  rdoc_options: []
51
48
  require_paths:
52
49
  - lib
@@ -61,8 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
58
  - !ruby/object:Gem::Version
62
59
  version: '0'
63
60
  requirements: []
64
- rubygems_version: 3.5.16
65
- signing_key:
61
+ rubygems_version: 3.6.9
66
62
  specification_version: 4
67
63
  summary: ''
68
64
  test_files: []