ac 1.0.0 → 1.0.2

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: d91a0bc77820fc802d1e7d4228c334f76dafd306b8d827acb0efb31d5fb22c56
4
- data.tar.gz: 3ffde7cc5ca9c2fb1041a95c0e3d4a4b7aae953d23713bb446a2e2b3ddabcbe4
3
+ metadata.gz: 93ef1a831829470267227d302c604be300a45566557fdeca5dfc90666fe66b37
4
+ data.tar.gz: 90e08375261aaf5a34067944c38a553d45778afafbaf2528ff4507f05f792dcf
5
5
  SHA512:
6
- metadata.gz: fe75a02d340f7c3e785eebf6fc4a190910b9fb36b8ebf5a90e4d13fbbde36f33e383b49b9d63d6ea6cd7078d1965fe268aab609b6512cda5c731e67a27332a28
7
- data.tar.gz: b5472513e94d0b463ada98ba4639471baf125e9a34dd234eb7bf045738b5367b5f83ddb7656531d338b097ea557974a5dee0cecbc70af6d19a9f0a26ecfd64ee
6
+ metadata.gz: 533a28626dc522e2202767c59ab9a3d9ab605f8b8fb9c7598f1f0719780f91761639acb9f644cc4d8814a4117424cc4dce5269e371924875f4d8481971c2ec97
7
+ data.tar.gz: 012ff28a3e8d92e680106d93acdeabf5b04d167163999b55e251fa64a044ebf876700b1ab43be384b4b60ebfeada194f180a7d3ca168e6ab0c4c61cd00dedeef
data/lib/ac/ac_object.rb CHANGED
@@ -4,11 +4,23 @@ module Ac
4
4
 
5
5
  def self.from_response(response)
6
6
  parsed_json = JSON.parse(response.body) rescue {}
7
- new(parsed_json, response: response)
7
+ ac_object = new(parsed_json)
8
+ ac_object.instance_variable_set("@response", response)
9
+ ac_object
8
10
  end
9
11
 
10
- def initialize(parsed_json, response: nil)
11
- @response = response
12
+ def self.new value
13
+ case value
14
+ when Hash
15
+ super(value)
16
+ when Array
17
+ value.map { new(_1) }
18
+ else
19
+ value
20
+ end
21
+ end
22
+
23
+ def initialize(parsed_json)
12
24
  @values = parsed_json.transform_keys(&:to_s)
13
25
  @values.keys.each do |key|
14
26
  define_singleton_method(key) { self.[](key) } unless respond_to? key
@@ -53,14 +65,7 @@ module Ac
53
65
  private
54
66
 
55
67
  def wrap(value)
56
- case value
57
- when Hash
58
- AcObject.new(value)
59
- when Array
60
- value.map { wrap(_1) }
61
- else
62
- value
63
- end
68
+ AcObject.new value
64
69
  end
65
70
  end
66
71
  end
data/lib/ac/base.rb CHANGED
@@ -9,10 +9,15 @@ module Ac
9
9
  end
10
10
 
11
11
  def access_token
12
- refresh_token if respond_to?(:refresh_token) && (@access_token.blank? || @token_expires_at&.past?)
12
+ refresh_token if should_refresh?
13
13
  @access_token
14
14
  end
15
15
 
16
+ def should_refresh?
17
+ return false unless respond_to?(:refresh_token)
18
+ @access_token.blank? || @token_expires_at&.past?
19
+ end
20
+
16
21
  def url path
17
22
  if path.start_with?("http://") || path.start_with?("https://")
18
23
  path
data/lib/ac/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ac
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.2"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ac
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - felipedmesquita
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-11 00:00:00.000000000 Z
10
+ date: 2025-03-13 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: typhoeus