CryptoPriceFinder 0.2.0 → 0.3.0

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: 91a3c892af5131c5e060814350322c32b822dc4fababe9fd5ae534c4627989f3
4
- data.tar.gz: f3e423e3f4e63790dba90e7b868a54d2d6538f851ca89831a6e2610dd6881b97
3
+ metadata.gz: 9328ebe22ba165216244abb489809a2081c797a8fd75a14105660a9c1ac1b26a
4
+ data.tar.gz: 4eb5f1e22538f3315ab7a9a04dd6dc7507b7971cc3c0e524240766492ca33831
5
5
  SHA512:
6
- metadata.gz: 3ed2bc8cf80c90a054cea807221aa9e709f522453f94a74a94358c2a6981a43ab2593f5e8c7f368c1b11fd38688d334c464328c1c98f135723e8b6497a903dbc
7
- data.tar.gz: 92f4e34e0121bb6bda08ac18995c06eb60c7944d95b73b2479de14ceb69de5746cc9b3ed98062f219db62be2707637509e9daba2011968a5b30200d9e19ae786
6
+ metadata.gz: c448b6e677682f326e4d26bf90ebb8126f715bb874958a6d6390b66b0b31a8bae6379df7bc8da5801250f08e5c5089bd2fa69069e1869bf99af778b31746047e
7
+ data.tar.gz: a5b519d97844234cf37894f95d4ea8c7d0e886771101bbc2e8fe2ee85c4ca98744146b33c269b7d51677fc8dfa2f7264c19c7b12f7d0eb2134746088c27c3bc1
@@ -0,0 +1,83 @@
1
+ require 'json'
2
+ require 'httparty'
3
+
4
+ module CryptoPriceFinder
5
+ class << self
6
+ URL = "https://duckduckgo.com/js/spice/cryptocurrency/"
7
+ def clean(input)
8
+ input.gsub("ddg_spice_cryptocurrency(", "").gsub(");", "").strip
9
+ end
10
+ private
11
+ def http(crypto, fiat, amount)
12
+ r = HTTParty.get(File.join(URL, crypto, fiat, amount.to_s)).body
13
+ r_clean = clean(r)
14
+ json = JSON.parse(r_clean)["data"]["quote"]
15
+ q = json.keys.shift.to_s
16
+ json[q]["price"].round(4)
17
+ end
18
+ public
19
+ def monero(amount)
20
+ http("xmr", "usd", amount)
21
+ end
22
+ def stellar(amount)
23
+ http("xlm", "usd", amount)
24
+ end
25
+ def bitcoin(amount)
26
+ http("btc", "usd", amount)
27
+ end
28
+ def dogecoin(amount)
29
+ http("doge", "usd", amount)
30
+ end
31
+ def ethereum(amount)
32
+ http("eth", "usd", amount)
33
+ end
34
+ def ripple(amount)
35
+ http("xrp", "usd", amount)
36
+ end
37
+ def tron(amount)
38
+ http("trx", "usd", amount)
39
+ end
40
+ def tether(amount)
41
+ http("usdt", "usd", amount)
42
+ end
43
+ def solana(amount)
44
+ http("sol", "usd", amount)
45
+ end
46
+ def bitcoin_cash(amount)
47
+ http("bch", "usd", amount)
48
+ end
49
+ def pepe(amount)
50
+ http("pepe", "usd", amount)
51
+ end
52
+ def litecoin(amount)
53
+ http("ltc", "usd", amount)
54
+ end
55
+ def polkadot(amount)
56
+ http("dot", "usd", amount)
57
+ end
58
+ def chainlink(amount)
59
+ http("link", "usd", amount)
60
+ end
61
+ def shiba_inu(amount)
62
+ http("shib", "usd", amount)
63
+ end
64
+ def filecoin(amount)
65
+ http("fil", "usd", amount)
66
+ end
67
+ def bat(amount)
68
+ http("bat", "usd", amount)
69
+ end
70
+ def bnb(amount)
71
+ http("bnb", "usd", amount)
72
+ end
73
+ def bonk(amount)
74
+ http("bonk", "usd", amount)
75
+ end
76
+ def ravencoin(amount)
77
+ http("rvn", "usd", amount)
78
+ end
79
+ def grin(amount)
80
+ http("grin", "usd", amount)
81
+ end
82
+ end
83
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CryptoPriceFinder
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: CryptoPriceFinder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael-Meade
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-02 00:00:00.000000000 Z
11
+ date: 2025-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: 0.22.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: 0.22.0
27
27
  description: Fetches Cryptocurrency prices from DuckDuckGo.
28
28
  email:
29
29
  - noway@lol.com
@@ -31,12 +31,10 @@ executables: []
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
- - README.md
35
- - Rakefile
36
34
  - lib/CryptoPriceFinder.rb
35
+ - lib/CryptoPriceFinder/crypto.rb
37
36
  - lib/CryptoPriceFinder/version.rb
38
- - sig/CryptoPriceFinder.rbs
39
- homepage:
37
+ homepage: https://github.com/Michael-Meade/CryptoPriceFinder
40
38
  licenses:
41
39
  - Ruby
42
40
  metadata: {}
data/README.md DELETED
@@ -1,30 +0,0 @@
1
- # CryptoPriceFinder
2
-
3
- Fetches cryptocurrency prices from DuckDuckGo. Converts crypto prices into USD prices.
4
-
5
- ## Installation
6
- ```ruby
7
- gem install httparty
8
- gem install CryptoPriceFinder
9
- ```
10
-
11
- ## Usage
12
-
13
- ```ruby
14
- puts "Monero"
15
- CryptoPriceFinder::monero(6.6)
16
- puts "Bitcoin"
17
- CryptoPriceFinder::bitcoin(3)
18
- puts "Stellar"
19
- CryptoPriceFinder::stellar(4)
20
- puts "DogeCoin"
21
- CryptoPriceFinder::dogecoin(4)
22
- Puts "Ethereum"
23
- CryptoPriceFinder::ethereum(4)
24
- puts "Ripple"
25
- CryptoPriceFinder::ripple(5)
26
- ```
27
-
28
- ## Contributing
29
-
30
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/CryptoPriceFinder.
data/Rakefile DELETED
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- task default: %i[]
5
- namespace "gems" do
6
- desc "Building gem, Push gem, Install Gem"
7
- task :all do
8
- begin
9
- require "colorize"
10
- gemfile = Dir.glob("*.gem").each { |f| f }.shift
11
- if !gemfile.nil?
12
- if File.exist?(gemfile)
13
- puts "Deleting #{gemfile}...\n".red
14
- File.delete(gemfile)
15
- puts "Building gem...\n".red
16
- %x(gem build CryptoPriceFinder.gemspec)
17
- puts "Pushing Gem...\n".red
18
- begin
19
- sh "gem push #{Dir.glob("*.gem").each { |f| f }.shift}"
20
- rescue
21
- puts "ERROR in Pushing...\n".red
22
- end
23
- puts "[+] Installing gem...\n"
24
- sh "gem install #{Dir.glob("*.gem").each { |f| f }.shift}"
25
- end
26
- else
27
- puts "No gem file found..."
28
- puts "Building gem...\n".red
29
- %x(gem build CryptoPriceFinder.gemspec)
30
- puts "Pushing Gem...\n".red
31
- begin
32
- sh "gem push #{Dir.glob("*.gem").each { |f| f }.shift}"
33
- rescue
34
- puts "ERROR in Pushing...\n".red
35
- end
36
- puts "[+] Installing gem...\n"
37
- sh "gem install #{Dir.glob("*.gem").each { |f| f }.shift}"
38
- end
39
- rescue => e
40
- puts e
41
- end
42
- end
43
- end
@@ -1,4 +0,0 @@
1
- module CryptoPriceFinder
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end