trove_gem 0.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/trove_gem.rb +54 -0
  3. metadata +42 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 867ace62c1e35ae673c951cf3d12d8c3596db0d8c5a60839bc4db5c94b282300
4
+ data.tar.gz: f8b203942caee04e56383300fbd17c5e1f2035c204f834f9c0c85d4d118edb31
5
+ SHA512:
6
+ metadata.gz: 260e03b23556f6978f73ab1b36cbf6f2f576abfa08a11c424aafb4fbbc106093007809fe9350b6942d67ed78e1b0fe86c2a7a3b266bcc41dd59e129699de2450
7
+ data.tar.gz: 2351c49939d8f294793794755156270689aacfb0cf7081b41fd1d852d07d9869317f4dff1498776b62cd8c51d2b5d10904276f66abe54bbaea78cd551a1b77f2
data/lib/trove_gem.rb ADDED
@@ -0,0 +1,54 @@
1
+ class Trove
2
+ require "uri"
3
+ require "net/http"
4
+ require 'json'
5
+
6
+ def self.key(drawer, key, token_name = "trove_token", chest = Rails.env, host = "trove.imtins.com/api/v1" )
7
+
8
+ limit = 10
9
+
10
+ url = URI("https://#{host}/#{chest}/#{drawer}/coin")
11
+
12
+ http = Net::HTTP.new(url.host, url.port);
13
+ http.use_ssl = true
14
+ request = Net::HTTP::Get.new(url)
15
+ request["Authorization"] = "Bearer #{Rails.application.credentials.dig(token_name.to_sym)}"
16
+
17
+ raise ArgumentError, 'too many HTTP redirects' if limit == 0
18
+
19
+ response = http.request(request)
20
+
21
+ if response.kind_of? Net::HTTPSuccess
22
+ response = JSON.parse(response.read_body, symbolize_names: true)
23
+ result = response[:data].find {|x| x[:key] == key}
24
+ return result[:value]
25
+ else
26
+ return "Error: Not found"
27
+ end
28
+ end
29
+
30
+ def self.grab(drawer, key, token, chest, host = "trove.imtins.com/api/v1" )
31
+
32
+ limit = 10
33
+
34
+ url = URI("https://#{host}/#{chest}/#{drawer}/coin")
35
+
36
+ http = Net::HTTP.new(url.host, url.port);
37
+ http.use_ssl = true
38
+ request = Net::HTTP::Get.new(url)
39
+ request["Authorization"] = "Bearer #{token}"
40
+
41
+ raise ArgumentError, 'too many HTTP redirects' if limit == 0
42
+
43
+ response = http.request(request)
44
+
45
+ if response.kind_of? Net::HTTPSuccess
46
+ response = JSON.parse(response.read_body, symbolize_names: true)
47
+ result = response[:data].find {|x| x[:key] == key}
48
+ return result[:value]
49
+ else
50
+ return "Error: Not found"
51
+ end
52
+ end
53
+
54
+ end
metadata ADDED
@@ -0,0 +1,42 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trove_gem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - IMT
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-04-04 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email:
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/trove_gem.rb
20
+ homepage:
21
+ licenses: []
22
+ metadata: {}
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
32
+ required_rubygems_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ requirements: []
38
+ rubygems_version: 3.5.7
39
+ signing_key:
40
+ specification_version: 4
41
+ summary: Interface to trove site
42
+ test_files: []