ticuna 0.2.0 → 0.2.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: 25afb92c6ab2ba62fe78323b2c25e8a6f87d08d0297139ea4433e52de1156426
4
- data.tar.gz: 90d7976a68c9ae75c972bda54765e11d4dd9050c32d2f6433852b15a607f2b11
3
+ metadata.gz: 91f1d0f3d86d36f73ee9127c48209b950a0a9e03d234ec0cf397015794797dda
4
+ data.tar.gz: 3db96fa9f07cc35f3baf5fe3af99da54d8e41e7ed954d3add56ee488f4a15de1
5
5
  SHA512:
6
- metadata.gz: 368e1eefe0937908dbbaf2dec05aaafc5ebd2f2e818d7fd5f445a3631b644d05e1ce22426861f9754b7e10e2177db4fb7dd3badebf70050bd1a9e81a6a674897
7
- data.tar.gz: 13e403ca060db22f7427a33df32cddb4b255a15c27865a6080c714292bec45a307c39c632e403aa2483e5581ee5dc75fcda3be090d29438fe6531ef31ffaae68
6
+ metadata.gz: e33ed0a919eda4ba474d3fad6993640b01ddf8b09c754cf5a8492673fbd914a4db3cd387db618ff85dc3a04afad70bc9e8d8de4925eb4ac47d43c78d44b392e7
7
+ data.tar.gz: aa329d1ad68be5fa446acbafd41eb3d6b99caf6a3d81f990950243439fbe5e359778ae375ff6f10d3133f9f919983c32d612f3183cdcb4cd34470663582b3b95
@@ -1,11 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "json"
4
+
3
5
  module Ticuna
4
6
  class Response
5
7
  attr_reader :data
6
8
 
7
- def initialize(data)
8
- @data = deep_symbolize_keys(data)
9
+ def initialize(raw)
10
+ parsed =
11
+ case raw
12
+ when String
13
+ begin
14
+ JSON.parse(raw)
15
+ rescue JSON::ParserError
16
+ { content: raw }
17
+ end
18
+ when Hash
19
+ raw
20
+ else
21
+ raise ArgumentError, "Ticuna::Response only accepts Hash or String, received: #{raw.class}"
22
+ end
23
+
24
+ @data = deep_symbolize_keys(parsed)
9
25
  end
10
26
 
11
27
  def [](key)
@@ -16,14 +32,13 @@ module Ticuna
16
32
  @data
17
33
  end
18
34
 
19
- def inspect
20
- "#<Ticuna::Response #{@data.inspect}>"
35
+ def to_s
36
+ @data.inspect
21
37
  end
22
38
 
23
39
  def method_missing(name, *args, &block)
24
40
  value = @data[name]
25
41
  return wrap(value) if @data.key?(name)
26
-
27
42
  super
28
43
  end
29
44
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ticuna
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ticuna
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chirana