gecko-api 0.0.0 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f500a52fbca5e1a944d3d8be977d633c60e4834114bd79c97e4b5841299887d0
4
- data.tar.gz: f37c9108cc676e90c4176742cd650a2efee136f57b74c089ee982765a961f30c
3
+ metadata.gz: 61ffdf08d3a65fede9683de62508685f402b55792921443523edbd23090f045d
4
+ data.tar.gz: 35e51bc05884ec9413869fa741df4f3c3b06d72a21e3901ee820abc0d08cdfab
5
5
  SHA512:
6
- metadata.gz: 4aff1156a513baa6f522f332c91305b9b747f4e85b2fcd900982a619b0b5e8c757228187103b7bacbdac0608ff8d50e90d5de70bb582b5e9499415b2e7892279
7
- data.tar.gz: e6e7af0fa4f580be0944f253187c7d3174c345d5a7f1d7ff77f7cc41ef744253f5ac3ced2c255117525aad0d5875e13876b9afcd010ca3615ae1b8e04d86a2de
6
+ metadata.gz: 05ffe0cb0ef6a244aa1330b1236927a6024dba2328696bbaa2cde84736f565e3908803834be8077ec4f8edb829485904112d810938738d2bf3f7a85bb5cc33bf
7
+ data.tar.gz: e5d08d5723f40b7006164ab71b5533ff90d2b6718ecda49a090103185bbb5620f431298d07a368021714065756c72cf9d7883b38bcb186f0ac084e46e601f248
data/lib/gecko/base.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  require 'uri'
4
4
  require 'net/http'
5
5
  require 'json'
6
+ require 'request'
6
7
 
7
8
  module Gecko
8
9
  class Base
@@ -7,18 +7,44 @@ module Gecko
7
7
  # Description: Acquire data of a crypto
8
8
  # Parameter: /
9
9
 
10
- def exchanges(name)
11
- formatting(detail(name.downcase))
10
+ def info(symbol)
11
+ formatting(
12
+ payload: detail(symbol: symbol.downcase),
13
+ symbol: symbol.downcase
14
+ )
15
+ end
16
+
17
+ def exchanges(id)
18
+ formatting(payload: detail(id: split_words(id.downcase)))
12
19
  end
13
20
 
14
21
  private
15
22
 
16
- def detail(name)
17
- uri = URI("https://api.coingecko.com/api/v3/coins/#{name}")
18
- Gecko::Request.request(uri: uri, method: 'GET')
23
+ def detail(id: nil, symbol: nil)
24
+ uri = if symbol.nil?
25
+ URI("https://api.coingecko.com/api/v3/coins/#{id}")
26
+ else
27
+ URI('https://api.coingecko.com/api/v3/coins/list')
28
+ end
29
+ Request::Http.request(uri: uri, method: 'GET')
30
+ end
31
+
32
+ def formatting(payload:, symbol: nil)
33
+ if symbol.nil?
34
+ formatting_ex(payload)
35
+ else
36
+ formatting_info(payload: payload, symbol: symbol)
37
+ end
19
38
  end
20
39
 
21
- def formatting(payload)
40
+ def formatting_info(payload:, symbol:)
41
+ info = payload.select { |x| x['symbol'] == symbol }.first
42
+ info = {} if info.nil?
43
+
44
+ info
45
+ end
46
+
47
+ def formatting_ex(payload)
22
48
  tickers = payload['tickers']
23
49
  if !tickers.nil?
24
50
  tickers.map { |x| x.dig('market', 'name') }.uniq
@@ -26,6 +52,10 @@ module Gecko
26
52
  []
27
53
  end
28
54
  end
55
+
56
+ def split_words(id)
57
+ id.split(/\W+/).join('-')
58
+ end
29
59
  end
30
60
  end
31
61
  end
data/lib/gecko/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gecko
4
- VERSION = '0.0.0'
4
+ VERSION = '0.0.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gecko-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Baldazzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-30 00:00:00.000000000 Z
11
+ date: 2023-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: aga-request
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bump
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +162,6 @@ files:
148
162
  - lib/gecko/autoloader.rb
149
163
  - lib/gecko/base.rb
150
164
  - lib/gecko/resources/coin.rb
151
- - lib/gecko/resources/request.rb
152
165
  - lib/gecko/version.rb
153
166
  homepage: https://github.com/Baldaz02/gecko-ruby
154
167
  licenses:
@@ -172,5 +185,5 @@ requirements: []
172
185
  rubygems_version: 3.3.24
173
186
  signing_key:
174
187
  specification_version: 4
175
- summary: gecko0.0.0
188
+ summary: gecko0.0.2
176
189
  test_files: []
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Gecko
4
- class Request < Base
5
- class << self
6
- def request(uri:, method:)
7
- req = get_method(name: method, uri: uri)
8
- req['Content-Type'] = 'application/json'
9
-
10
- res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
11
- http.request(req)
12
- end
13
-
14
- JSON.parse(res.body)
15
- end
16
-
17
- def get_method(name:, uri:)
18
- case name
19
- when 'GET'
20
- req = Net::HTTP::Get.new(uri)
21
- # when 'POST'
22
- # req = Net::HTTP::Post.new(uri)
23
- # when 'DELETE'
24
- # req = Net::HTTP::Delete.new(uri)
25
- end
26
-
27
- req
28
- end
29
- end
30
- end
31
- end