hodlmoon 0.1.1 → 0.2.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
- SHA1:
3
- metadata.gz: b33b62e06730dcae905b5c5491e74ce8ec255ad5
4
- data.tar.gz: ff99fc74e392cacc7bc060dd6166d045ecfefa0f
2
+ SHA256:
3
+ metadata.gz: 8771ab4e4103ce9e190ca1976dd845352ec30ce26a56a09c13a125d141bc7259
4
+ data.tar.gz: 34e24561353fb87eb12edeb0e948804861de19e5414df390a399aecf4b733eef
5
5
  SHA512:
6
- metadata.gz: 066dfeb6ebfd347058a9748297885a71dae31aba6c65b0eaefd19a68470f3923fe2ac3cddbd5e742a8d3ec6943d324a34d58c9fb749d58f3d6039b0200870cf5
7
- data.tar.gz: b0f03e811fcfd265023ed91afe3087d8413d78b30befb13b5824f44b208c41c84b204d3a6f9cd33fbeee598b6333208815900a0938de81bbdd3f35951f78281e
6
+ metadata.gz: 7597bf001d1649cdd94ff1d39081f89d1611b6b3b4231f486e3056b0e86510a1c23fbd8646b29a488925e8fc6475aa1557a4460b28e5f121b6ced3caa919282a
7
+ data.tar.gz: 331ce9d65f567e09e3d1f12fc38ed37b970d004dc40e5ae122c809e087185e693f4647e9b4c93d2eef83e805049fc1b30f5463ab98b1b2a3c6472b2e73b5cc4c
@@ -0,0 +1,29 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ working_directory: ~/hodlmoon
5
+ docker:
6
+ - image: circleci/ruby:2.3.6
7
+ steps:
8
+ - checkout
9
+
10
+ # Restore Cached Dependencies
11
+ - type: cache-restore
12
+ name: Restore bundle cache
13
+ key: hodlmoon-{{ checksum "Gemfile.lock" }}
14
+
15
+ # Bundle install dependencies
16
+ - run: bundle install --path vendor/bundle
17
+
18
+ # Cache Dependencies
19
+ - type: cache-save
20
+ name: Store bundle cache
21
+ key: hodlmoon-{{ checksum "Gemfile.lock" }}
22
+ paths:
23
+ - vendor/bundle
24
+
25
+ # Run unit tests
26
+ - run: bundle exec rspec
27
+
28
+ # Run aruba tests
29
+ - run: bundle exec cucumber
data/.env.example ADDED
File without changes
data/Gemfile.lock CHANGED
@@ -1,31 +1,70 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hodlmoon (0.1.1)
5
- httparty
6
- terminal-table
7
- thor
4
+ hodlmoon (0.2.0)
5
+ httparty (= 0.18.0)
6
+ json (~> 2.6, >= 2.6.2)
7
+ launchy (~> 2.4.3)
8
+ terminal-table (~> 1.8.0)
9
+ thor (>= 1.0, < 1.1)
8
10
 
9
11
  GEM
10
12
  remote: https://rubygems.org/
11
13
  specs:
12
- addressable (2.5.2)
13
- public_suffix (>= 2.0.2, < 4.0)
14
+ addressable (2.8.0)
15
+ public_suffix (>= 2.0.2, < 5.0)
16
+ aruba (1.0.4)
17
+ childprocess (>= 2.0, < 5.0)
18
+ contracts (~> 0.16.0)
19
+ cucumber (>= 2.4, < 6.0)
20
+ rspec-expectations (~> 3.4)
21
+ thor (~> 1.0)
14
22
  ast (2.4.0)
15
- crack (0.4.3)
16
- safe_yaml (~> 1.0.0)
23
+ backports (3.11.1)
24
+ builder (3.2.3)
25
+ childprocess (4.1.0)
26
+ contracts (0.16.1)
27
+ crack (0.4.5)
28
+ rexml
29
+ cucumber (3.1.0)
30
+ builder (>= 2.1.2)
31
+ cucumber-core (~> 3.1.0)
32
+ cucumber-expressions (~> 5.0.4)
33
+ cucumber-wire (~> 0.0.1)
34
+ diff-lcs (~> 1.3)
35
+ gherkin (~> 5.0)
36
+ multi_json (>= 1.7.5, < 2.0)
37
+ multi_test (>= 0.1.2)
38
+ cucumber-core (3.1.0)
39
+ backports (>= 3.8.0)
40
+ cucumber-tag_expressions (~> 1.1.0)
41
+ gherkin (>= 5.0.0)
42
+ cucumber-expressions (5.0.13)
43
+ cucumber-tag_expressions (1.1.1)
44
+ cucumber-wire (0.0.1)
17
45
  diff-lcs (1.3)
18
- hashdiff (0.3.7)
19
- httparty (0.15.7)
46
+ gherkin (5.0.0)
47
+ hashdiff (1.0.1)
48
+ httparty (0.18.0)
49
+ mime-types (~> 3.0)
20
50
  multi_xml (>= 0.5.2)
51
+ jaro_winkler (1.5.4)
52
+ json (2.6.2)
53
+ launchy (2.4.3)
54
+ addressable (~> 2.3)
55
+ mime-types (3.4.1)
56
+ mime-types-data (~> 3.2015)
57
+ mime-types-data (3.2022.0105)
58
+ multi_json (1.13.1)
59
+ multi_test (0.1.2)
21
60
  multi_xml (0.6.0)
22
- parallel (1.12.0)
23
- parser (2.4.0.2)
24
- ast (~> 2.3)
25
- powerpack (0.1.1)
26
- public_suffix (3.0.1)
61
+ parallel (1.19.1)
62
+ parser (2.6.5.0)
63
+ ast (~> 2.4.0)
64
+ public_suffix (4.0.7)
27
65
  rainbow (3.0.0)
28
- rake (10.5.0)
66
+ rake (13.0.1)
67
+ rexml (3.2.5)
29
68
  rspec (3.7.0)
30
69
  rspec-core (~> 3.7.0)
31
70
  rspec-expectations (~> 3.7.0)
@@ -39,21 +78,22 @@ GEM
39
78
  diff-lcs (>= 1.2.0, < 2.0)
40
79
  rspec-support (~> 3.7.0)
41
80
  rspec-support (3.7.1)
42
- rubocop (0.52.1)
81
+ rspec_junit_formatter (0.4.1)
82
+ rspec-core (>= 2, < 4, != 2.12.0)
83
+ rubocop (0.78.0)
84
+ jaro_winkler (~> 1.5.1)
43
85
  parallel (~> 1.10)
44
- parser (>= 2.4.0.2, < 3.0)
45
- powerpack (~> 0.1)
86
+ parser (>= 2.6)
46
87
  rainbow (>= 2.2.2, < 4.0)
47
88
  ruby-progressbar (~> 1.7)
48
- unicode-display_width (~> 1.0, >= 1.0.1)
49
- ruby-progressbar (1.9.0)
50
- safe_yaml (1.0.4)
89
+ unicode-display_width (>= 1.4.0, < 1.7)
90
+ ruby-progressbar (1.10.1)
51
91
  terminal-table (1.8.0)
52
92
  unicode-display_width (~> 1.1, >= 1.1.1)
53
- thor (0.20.0)
54
- unicode-display_width (1.3.0)
55
- vcr (3.0.3)
56
- webmock (3.2.1)
93
+ thor (1.0.1)
94
+ unicode-display_width (1.6.1)
95
+ vcr (5.0.0)
96
+ webmock (3.5.1)
57
97
  addressable (>= 2.3.6)
58
98
  crack (>= 0.3.2)
59
99
  hashdiff
@@ -62,13 +102,17 @@ PLATFORMS
62
102
  ruby
63
103
 
64
104
  DEPENDENCIES
105
+ aruba (~> 1.0.0)
65
106
  bundler (~> 1.16)
107
+ cucumber (>= 3.0)
66
108
  hodlmoon!
67
- rake (~> 10.0)
109
+ rake (~> 13.0)
110
+ rexml (~> 3.2, >= 3.2.4)
68
111
  rspec (~> 3.0)
69
- rubocop (~> 0.52.1)
70
- vcr
71
- webmock
112
+ rspec_junit_formatter (~> 0.4.1)
113
+ rubocop (~> 0.78.0)
114
+ vcr (~> 5.0.0)
115
+ webmock (~> 3.5.0)
72
116
 
73
117
  BUNDLED WITH
74
- 1.16.1
118
+ 1.17.3
data/README.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Hodlmoon
2
2
 
3
+ [![Donate with Ethereum](https://en.cryptobadges.io/badge/small/0x5aa9a264fF5516E615eB60b43d524F04c13a331e)](https://en.cryptobadges.io/donate/0x5aa9a264fF5516E615eB60b43d524F04c13a331e)
4
+
5
+ [![Gem Version](https://badge.fury.io/rb/hodlmoon.svg)](https://badge.fury.io/rb/hodlmoon)
6
+ [![CircleCI](https://circleci.com/gh/richo225/hodlmoon/tree/master.svg?style=shield)](https://circleci.com/gh/richo225/hodlmoon/tree/master)
7
+ [![Maintainability](https://api.codeclimate.com/v1/badges/c328ff2b6d581e5121fc/maintainability)](https://codeclimate.com/github/richo225/hodlmoon/maintainability)
8
+ [![Coverage Status](https://coveralls.io/repos/github/richo225/hodlmoon/badge.svg?branch=circle)](https://coveralls.io/github/richo225/hodlmoon?branch=circle)
9
+
3
10
  Quickly find the price of your crypto portfolio from the comfort of your command line.
4
11
 
5
12
  When moon?
@@ -18,65 +25,21 @@ The gem comes with two methods that can be run : `price` and `list`.
18
25
 
19
26
  ### List
20
27
 
21
- Lists market data for the top coins in a specific currency. If no limit is given, the top 5 will be shown. If no currency is given, the CLI will default to `gbp`:
22
-
23
- ```ruby
24
- hodlmoon list
25
- #
26
- O==============O========O===============O================O===================O====================O===================O
27
- | ☾ ☾ ☾ Hodlmoon ☽ ☽ ☽ |
28
- O==============O========O===============O================O===================O====================O===================O
29
- | name | symbol | price_gbp | market_cap_gbp | percent_change_1h | percent_change_24h | percent_change_7d |
30
- O==============O========O===============O================O===================O====================O===================O
31
- | Bitcoin | BTC | 6194.31180144 | 104438958744 | -1.69 | +2.13 | +14.56 |
32
- O==============O========O===============O================O===================O====================O===================O
33
- | Ethereum | ETH | 611.451838746 | 59659761394.0 | -1.66 | +0.14 | +13.49 |
34
- O==============O========O===============O================O===================O====================O===================O
35
- | Ripple | XRP | 0.7614421057 | 29703259449.0 | -1.33 | +0.51 | +42.23 |
36
- O==============O========O===============O================O===================O====================O===================O
37
- | Bitcoin Cash | BCH | 905.989224 | 15368940724.0 | -1.75 | -0.82 | +28.42 |
38
- O==============O========O===============O================O===================O====================O===================O
39
- | Cardano | ADA | 0.2704738498 | 7012594583.0 | -1.64 | -2.15 | +10.23 |
40
- O==============O========O===============O================O===================O====================O===================O
41
-
42
- hodlmoon list 2 eur
43
- #
44
- O==========O========O===============O================O===================O====================O===================O
45
- | ☾ ☾ ☾ Hodlmoon ☽ ☽ ☽ |
46
- O==========O========O===============O================O===================O====================O===================O
47
- | name | symbol | price_eur | market_cap_eur | percent_change_1h | percent_change_24h | percent_change_7d |
48
- O==========O========O===============O================O===================O====================O===================O
49
- | Bitcoin | BTC | 6999.59148544 | 118016346256 | -1.69 | +2.13 | +14.56 |
50
- O==========O========O===============O================O===================O====================O===================O
51
- | Ethereum | ETH | 690.942468096 | 67415714814.0 | -1.66 | +0.14 | +13.49 |
52
- O==========O========O===============O================O===================O====================O===================O
53
- ```
28
+ Lists market data for the top default 8 coins.
29
+
30
+ <img width="956" alt="screen shot 2018-02-13 at 23 34 15" src="https://user-images.githubusercontent.com/18379191/36180073-d0fbd150-1116-11e8-8355-24af83efb03d.png">
31
+
32
+
33
+ A specific limit and a specific currency can also be supplied. If no currency is given, the CLI will default to `gbp`.
34
+
35
+
36
+ <img width="927" alt="screen shot 2018-02-13 at 23 34 44" src="https://user-images.githubusercontent.com/18379191/36180125-114bc8dc-1117-11e8-910e-d2bee9df72df.png">
54
37
 
55
38
  ### Price
56
39
 
57
40
  Gets the current price of a coin in a specific currency. If no currency is given, the CLI will default to `gbp`:
58
41
 
59
- ```ruby
60
- hodlmoon price ethereum
61
- #
62
- O==========O========O===============O================O===================O====================O===================O
63
- | ☾ ☾ ☾ Hodlmoon ☽ ☽ ☽ |
64
- O==========O========O===============O================O===================O====================O===================O
65
- | name | symbol | price_gbp | market_cap_gbp | percent_change_1h | percent_change_24h | percent_change_7d |
66
- O==========O========O===============O================O===================O====================O===================O
67
- | Ethereum | ETH | 608.540996151 | 59387446060.0 | +0.54 | -1.76 | +26.1 |
68
- O==========O========O===============O================O===================O====================O===================O
69
-
70
- hodlmoon price neo usd
71
- #
72
- O======O========O===========O================O===================O====================O===================O
73
- | ☾ ☾ ☾ Hodlmoon ☽ ☽ ☽ |
74
- O======O========O===========O================O===================O====================O===================O
75
- | name | symbol | price_usd | market_cap_usd | percent_change_1h | percent_change_24h | percent_change_7d |
76
- O======O========O===========O================O===================O====================O===================O
77
- | NEO | NEO | 111.91 | 7274150000.0 | +0.17 | -0.72 | +35.47 |
78
- O======O========O===========O================O===================O====================O===================O
79
- ```
42
+ <img width="895" alt="screen shot 2018-02-13 at 23 41 24" src="https://user-images.githubusercontent.com/18379191/36180237-7accffd8-1117-11e8-9e7d-b1c6d8d9f295.png">
80
43
 
81
44
  ## Contributing
82
45
 
@@ -91,3 +54,5 @@ The gem is available as open source under the terms of the [MIT License](https:/
91
54
  ## Code of Conduct
92
55
 
93
56
  Everyone interacting in the Hodlmoon project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/richo225/hodlmoon/blob/master/CODE_OF_CONDUCT.md).
57
+
58
+ [![forthebadge](https://forthebadge.com/images/badges/fuck-it-ship-it.svg)](https://forthebadge.com)
data/hodlmoon.gemspec CHANGED
@@ -20,14 +20,20 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_dependency 'httparty'
24
- spec.add_dependency 'terminal-table'
25
- spec.add_dependency 'thor'
23
+ spec.add_dependency 'httparty', '0.18.0'
24
+ spec.add_dependency 'json', '~> 2.6', '>= 2.6.2'
25
+ spec.add_dependency 'launchy', '~> 2.4.3'
26
+ spec.add_dependency 'terminal-table', '~> 1.8.0'
27
+ spec.add_dependency 'thor', '>= 1.0', '< 1.1'
26
28
 
29
+ spec.add_development_dependency 'aruba', '~> 1.0.0'
27
30
  spec.add_development_dependency 'bundler', '~> 1.16'
28
- spec.add_development_dependency 'rake', '~> 10.0'
31
+ spec.add_development_dependency 'cucumber', '>= 3.0'
32
+ spec.add_development_dependency 'rake', '~> 13.0'
33
+ spec.add_development_dependency 'rexml', '~> 3.2', '>= 3.2.4'
29
34
  spec.add_development_dependency 'rspec', '~> 3.0'
30
- spec.add_development_dependency 'rubocop', '~> 0.52.1'
31
- spec.add_development_dependency 'vcr'
32
- spec.add_development_dependency 'webmock'
35
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
36
+ spec.add_development_dependency 'rubocop', '~> 0.78.0'
37
+ spec.add_development_dependency 'vcr', '~> 5.0.0'
38
+ spec.add_development_dependency 'webmock', '~> 3.5.0'
33
39
  end
data/lib/hodlmoon/cli.rb CHANGED
@@ -1,29 +1,82 @@
1
1
  require 'thor'
2
+ require 'launchy'
2
3
  require 'hodlmoon/client/retrieve_price'
3
4
  require 'hodlmoon/client/retrieve_list'
4
5
  require 'hodlmoon/table'
6
+ require 'hodlmoon/portfolio_manager'
5
7
 
6
8
  module Hodlmoon
7
9
  class Cli < Thor
8
- CURRENCY = {
9
- gbp: '£',
10
- usd: '$',
11
- eur: ''
12
- }.freeze
10
+ DEFAULT_LIMIT = 8
11
+ DEFAULT_CURRENCY = 'gbp'.freeze
12
+ COINSPECTATOR_URL = 'https://coinspectator.com/'.freeze
13
+ ETHTRADER_URL = 'https://www.reddit.com/r/ethtrader/'.freeze
14
+ DEFAULT_PORTFOLIO_PATH = '~/hodlmoon_portfolio'.freeze
15
+
16
+ def self.exit_on_failure?
17
+ true
18
+ end
13
19
 
14
20
  desc 'hello NAME', 'say hello to NAME'
15
21
  def hello(name)
16
- puts "Hello #{name}"
22
+ say "Hello #{name}"
23
+ end
24
+
25
+ desc 'version', 'Display hodlmoon version'
26
+ map %w(-v --version) => :version
27
+ def version
28
+ say "Hodlmoon #{VERSION}"
29
+ end
30
+
31
+ desc 'news', 'link to CoinSpectator'
32
+ map %w(-n --news) => :news
33
+ def news
34
+ Launchy.open(COINSPECTATOR_URL)
35
+ end
36
+
37
+ desc 'trader', 'link to r/EthTrader'
38
+ map %w(-t --trader) => :trader
39
+ def trader
40
+ Launchy.open(ETHTRADER_URL)
41
+ end
42
+
43
+ desc 'create_portfolio', 'create your coin portfolio'
44
+ def create_portfolio
45
+ say "Creating file at #{DEFAULT_PORTFOLIO}"
46
+ @coins = []
47
+ loop do
48
+ coin = ask("Please input your coins eg.'ethereum' :")
49
+ break if coin.empty?
50
+
51
+ @coins << coin
52
+ end
53
+ CSV.open(DEFAULT_PORTFOLIO_PATH, 'wb') do |csv|
54
+ csv << @coins
55
+ end
56
+ say 'Portfolio successfully created'
57
+ end
58
+
59
+ desc 'portfolio PATH CURRENCY', 'Get data for your portfolio at csv PATH'
60
+ map %w(-p --portfolio) => :portfolio
61
+ def portfolio(path, currency = DEFAULT_CURRENCY)
62
+ raise Error, set_color("No such file exists at #{path}", :red) unless File.exist?(path)
63
+
64
+ info = Hodlmoon::PortfolioManager.import_portfolio(path, currency)
65
+ puts Hodlmoon::Table.build(info, currency)
17
66
  end
18
67
 
19
68
  desc 'price COIN CURRENCY', 'get current price of COIN in CURRENCY(optional)'
20
- def price(coin, currency = 'gbp')
69
+ map %w(-p --price) => :price
70
+ def price(coin, currency = DEFAULT_CURRENCY)
21
71
  info = Hodlmoon::Client::RetrievePrice.call(coin, currency)
72
+ raise Error, set_color('Please input the full name of a valid coin.', :red) unless info.success?
73
+
22
74
  puts Hodlmoon::Table.build(info, currency)
23
75
  end
24
76
 
25
77
  desc 'list LIMIT CURRENCY', 'get LIMIT of top coins in CURRENCY(optional)'
26
- def list(limit = 8, currency = 'gbp')
78
+ map %w(-l --list) => :list
79
+ def list(limit = DEFAULT_LIMIT, currency = DEFAULT_CURRENCY)
27
80
  info = Hodlmoon::Client::RetrieveList.call(limit, currency)
28
81
  puts Hodlmoon::Table.build(info, currency)
29
82
  end
@@ -10,7 +10,7 @@ module Hodlmoon
10
10
  end
11
11
 
12
12
  def call
13
- HTTParty.get(uri)
13
+ HTTParty.get(uri, format: :json)
14
14
  end
15
15
 
16
16
  private
@@ -10,7 +10,7 @@ module Hodlmoon
10
10
  private
11
11
 
12
12
  def uri
13
- "https://api.coinmarketcap.com/v1/ticker/?limit=#{@limit}&convert=#{@currency}"
13
+ "https://api.coingecko.com/api/v3/coins/markets?per_page=#{@limit}&vs_currency=#{@currency}"
14
14
  end
15
15
  end
16
16
  end
@@ -10,7 +10,7 @@ module Hodlmoon
10
10
  private
11
11
 
12
12
  def uri
13
- "https://api.coinmarketcap.com/v1/ticker/#{@coin}/?convert=#{@currency}"
13
+ "https://api.coingecko.com/api/v3/coins/#{@coin}?community_data=false&developer_data=false&localization=false"
14
14
  end
15
15
  end
16
16
  end
@@ -0,0 +1,24 @@
1
+ module Hodlmoon
2
+ class PortfolioManager
3
+ def self.import_portfolio(path, currency)
4
+ new(path, currency).import_portfolio
5
+ end
6
+
7
+ def initialize(path, currency)
8
+ @path = path
9
+ @currency = currency
10
+ end
11
+
12
+ def import_portfolio
13
+ portfolio.map do |coin|
14
+ Hodlmoon::Client::RetrievePrice.call(coin, @currency)
15
+ end.flatten
16
+ end
17
+
18
+ private
19
+
20
+ def portfolio
21
+ CSV.read(@path).flatten
22
+ end
23
+ end
24
+ end
@@ -14,7 +14,7 @@ module Hodlmoon
14
14
  def build
15
15
  Terminal::Table.new do |t|
16
16
  t.title = '☾ ☾ ☾ Hodlmoon ☽ ☽ ☽'
17
- t.headings = headers
17
+ t.headings = humanised_headings
18
18
  t.rows = rows
19
19
  t.style = { all_separators: true, border_x: '=', border_i: 'O', alignment: :center }
20
20
  end
@@ -22,14 +22,20 @@ module Hodlmoon
22
22
 
23
23
  private
24
24
 
25
- def headers
26
- ['name',
25
+ def headings
26
+ ['market_cap_rank',
27
+ 'name',
27
28
  'symbol',
28
- "price_#{@currency}",
29
- "market_cap_#{@currency}",
30
- 'percent_change_1h',
31
- 'percent_change_24h',
32
- 'percent_change_7d']
29
+ 'current_price',
30
+ 'market_cap',
31
+ 'price_change_percentage_24h',
32
+ 'ath_change_percentage']
33
+ end
34
+
35
+ def humanised_headings
36
+ headings.map do |heading|
37
+ heading.tr('_', ' ').capitalize
38
+ end
33
39
  end
34
40
 
35
41
  def rows
@@ -38,7 +44,14 @@ module Hodlmoon
38
44
 
39
45
  def colorised_info
40
46
  filtered_info.map do |coin|
41
- coin.each_pair(&method(:colorise))
47
+ coin.transform_values!(&:to_s)
48
+ .each_pair { |k, v| colorise(k, v) }
49
+ end
50
+ end
51
+
52
+ def filtered_info
53
+ @info.map do |coin|
54
+ headings.each_with_object({}) { |k, h| h[k] = coin[k]; }
42
55
  end
43
56
  end
44
57
 
@@ -46,14 +59,8 @@ module Hodlmoon
46
59
  return unless value
47
60
 
48
61
  case key
49
- when /price_.*/ then colorise_yellow(value)
50
- when /percent_change_.*/ then colorise_red_or_green(value)
51
- end
52
- end
53
-
54
- def filtered_info
55
- @info.map do |coin|
56
- headers.each_with_object({}) { |k, h| h[k] = coin[k]; }
62
+ when /_price_.*/ then colorise_yellow(value)
63
+ when /_percentage.*/ then colorise_red_or_green(value)
57
64
  end
58
65
  end
59
66
 
@@ -1,3 +1,3 @@
1
1
  module Hodlmoon
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,57 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hodlmoon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Bates
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-13 00:00:00.000000000 Z
11
+ date: 2022-08-02 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
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.18.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.18.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.6'
17
34
  - - ">="
18
35
  - !ruby/object:Gem::Version
19
- version: '0'
36
+ version: 2.6.2
20
37
  type: :runtime
21
38
  prerelease: false
22
39
  version_requirements: !ruby/object:Gem::Requirement
23
40
  requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '2.6'
24
44
  - - ">="
25
45
  - !ruby/object:Gem::Version
26
- version: '0'
46
+ version: 2.6.2
47
+ - !ruby/object:Gem::Dependency
48
+ name: launchy
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 2.4.3
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 2.4.3
27
61
  - !ruby/object:Gem::Dependency
28
62
  name: terminal-table
29
63
  requirement: !ruby/object:Gem::Requirement
30
64
  requirements:
31
- - - ">="
65
+ - - "~>"
32
66
  - !ruby/object:Gem::Version
33
- version: '0'
67
+ version: 1.8.0
34
68
  type: :runtime
35
69
  prerelease: false
36
70
  version_requirements: !ruby/object:Gem::Requirement
37
71
  requirements:
38
- - - ">="
72
+ - - "~>"
39
73
  - !ruby/object:Gem::Version
40
- version: '0'
74
+ version: 1.8.0
41
75
  - !ruby/object:Gem::Dependency
42
76
  name: thor
43
77
  requirement: !ruby/object:Gem::Requirement
44
78
  requirements:
45
79
  - - ">="
46
80
  - !ruby/object:Gem::Version
47
- version: '0'
81
+ version: '1.0'
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: '1.1'
48
85
  type: :runtime
49
86
  prerelease: false
50
87
  version_requirements: !ruby/object:Gem::Requirement
51
88
  requirements:
52
89
  - - ">="
53
90
  - !ruby/object:Gem::Version
54
- version: '0'
91
+ version: '1.0'
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: '1.1'
95
+ - !ruby/object:Gem::Dependency
96
+ name: aruba
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: 1.0.0
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: 1.0.0
55
109
  - !ruby/object:Gem::Dependency
56
110
  name: bundler
57
111
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +120,54 @@ dependencies:
66
120
  - - "~>"
67
121
  - !ruby/object:Gem::Version
68
122
  version: '1.16'
123
+ - !ruby/object:Gem::Dependency
124
+ name: cucumber
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '3.0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '3.0'
69
137
  - !ruby/object:Gem::Dependency
70
138
  name: rake
71
139
  requirement: !ruby/object:Gem::Requirement
72
140
  requirements:
73
141
  - - "~>"
74
142
  - !ruby/object:Gem::Version
75
- version: '10.0'
143
+ version: '13.0'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '13.0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: rexml
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '3.2'
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: 3.2.4
76
161
  type: :development
77
162
  prerelease: false
78
163
  version_requirements: !ruby/object:Gem::Requirement
79
164
  requirements:
80
165
  - - "~>"
81
166
  - !ruby/object:Gem::Version
82
- version: '10.0'
167
+ version: '3.2'
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 3.2.4
83
171
  - !ruby/object:Gem::Dependency
84
172
  name: rspec
85
173
  requirement: !ruby/object:Gem::Requirement
@@ -94,48 +182,62 @@ dependencies:
94
182
  - - "~>"
95
183
  - !ruby/object:Gem::Version
96
184
  version: '3.0'
185
+ - !ruby/object:Gem::Dependency
186
+ name: rspec_junit_formatter
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: 0.4.1
192
+ type: :development
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - "~>"
197
+ - !ruby/object:Gem::Version
198
+ version: 0.4.1
97
199
  - !ruby/object:Gem::Dependency
98
200
  name: rubocop
99
201
  requirement: !ruby/object:Gem::Requirement
100
202
  requirements:
101
203
  - - "~>"
102
204
  - !ruby/object:Gem::Version
103
- version: 0.52.1
205
+ version: 0.78.0
104
206
  type: :development
105
207
  prerelease: false
106
208
  version_requirements: !ruby/object:Gem::Requirement
107
209
  requirements:
108
210
  - - "~>"
109
211
  - !ruby/object:Gem::Version
110
- version: 0.52.1
212
+ version: 0.78.0
111
213
  - !ruby/object:Gem::Dependency
112
214
  name: vcr
113
215
  requirement: !ruby/object:Gem::Requirement
114
216
  requirements:
115
- - - ">="
217
+ - - "~>"
116
218
  - !ruby/object:Gem::Version
117
- version: '0'
219
+ version: 5.0.0
118
220
  type: :development
119
221
  prerelease: false
120
222
  version_requirements: !ruby/object:Gem::Requirement
121
223
  requirements:
122
- - - ">="
224
+ - - "~>"
123
225
  - !ruby/object:Gem::Version
124
- version: '0'
226
+ version: 5.0.0
125
227
  - !ruby/object:Gem::Dependency
126
228
  name: webmock
127
229
  requirement: !ruby/object:Gem::Requirement
128
230
  requirements:
129
- - - ">="
231
+ - - "~>"
130
232
  - !ruby/object:Gem::Version
131
- version: '0'
233
+ version: 3.5.0
132
234
  type: :development
133
235
  prerelease: false
134
236
  version_requirements: !ruby/object:Gem::Requirement
135
237
  requirements:
136
- - - ">="
238
+ - - "~>"
137
239
  - !ruby/object:Gem::Version
138
- version: '0'
240
+ version: 3.5.0
139
241
  description: A command line tool for crytocurrency data. When moon?
140
242
  email:
141
243
  - richo225@gmail.com
@@ -144,10 +246,11 @@ executables:
144
246
  extensions: []
145
247
  extra_rdoc_files: []
146
248
  files:
249
+ - ".circleci/config.yml"
250
+ - ".env.example"
147
251
  - ".gitignore"
148
252
  - ".rspec"
149
253
  - ".rubocop.yml"
150
- - ".travis.yml"
151
254
  - CODE_OF_CONDUCT.md
152
255
  - Gemfile
153
256
  - Gemfile.lock
@@ -161,13 +264,14 @@ files:
161
264
  - lib/hodlmoon/client/base.rb
162
265
  - lib/hodlmoon/client/retrieve_list.rb
163
266
  - lib/hodlmoon/client/retrieve_price.rb
267
+ - lib/hodlmoon/portfolio_manager.rb
164
268
  - lib/hodlmoon/table.rb
165
269
  - lib/hodlmoon/version.rb
166
270
  homepage: https://github.com/richo225/hodlmoon
167
271
  licenses:
168
272
  - MIT
169
273
  metadata: {}
170
- post_install_message:
274
+ post_install_message:
171
275
  rdoc_options: []
172
276
  require_paths:
173
277
  - lib
@@ -182,9 +286,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
286
  - !ruby/object:Gem::Version
183
287
  version: '0'
184
288
  requirements: []
185
- rubyforge_project:
186
- rubygems_version: 2.6.14
187
- signing_key:
289
+ rubygems_version: 3.2.3
290
+ signing_key:
188
291
  specification_version: 4
189
292
  summary: A command line tool for crytocurrency data. When moon?
190
293
  test_files: []
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.6
5
- before_install: gem install bundler -v 1.16.1