bit_converter 0.1.0 → 1.0.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 +4 -4
- data/.gitignore +1 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +31 -21
- data/README.md +14 -33
- data/Rakefile +8 -1
- data/{exe → bin}/bit +0 -0
- data/bit_converter.gemspec +5 -10
- data/lib/bit_converter.rb +1 -1
- data/lib/bit_converter/cli.rb +15 -12
- data/lib/bit_converter/coinbase_wrapper.rb +6 -4
- data/lib/bit_converter/convert.rb +17 -1
- data/lib/bit_converter/ping.rb +9 -0
- data/lib/bit_converter/version.rb +1 -1
- metadata +14 -71
- data/.rspec_status +0 -10
- data/lib/bit_converter/food.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1a694eae2812a06c1783fe29508c91b00b7dadde2061208f638f530e64fb2b0
|
4
|
+
data.tar.gz: b828330e5307abeb9299debf3b357bbdb9f8e0c89725f1bcc69b6079e8caca0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3b89e69e7e706cdf64602c768e090f87b6fbe14ba8abb9b6f414c6821df603b6884bc5123173010e0ef6786a1676818f1b4d09a7ec5a48e40c91075f0fe5526
|
7
|
+
data.tar.gz: c73eb322fc963fc2f4c56f1e9a01b7554802ff751fdc2bddd2bd86f61e4260c97d85f15dcc9176c0a027a6f538140829631abae91b0a1c62b519ae806625e548
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -2,19 +2,24 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
bit_converter (0.1.0)
|
5
|
-
|
6
|
-
money (~> 6.16)
|
7
|
-
rake (~> 13.0)
|
5
|
+
actionview (~> 6.1, >= 6.1.4.1)
|
8
6
|
thor
|
9
7
|
|
10
8
|
GEM
|
11
9
|
remote: https://rubygems.org/
|
12
10
|
specs:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
actionview (6.1.4.1)
|
12
|
+
activesupport (= 6.1.4.1)
|
13
|
+
builder (~> 3.1)
|
14
|
+
erubi (~> 1.4)
|
15
|
+
rails-dom-testing (~> 2.0)
|
16
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
17
|
+
activesupport (6.1.4.1)
|
18
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
|
+
i18n (>= 1.6, < 2)
|
20
|
+
minitest (>= 5.1)
|
21
|
+
tzinfo (~> 2.0)
|
22
|
+
zeitwerk (~> 2.3)
|
18
23
|
addressable (2.8.0)
|
19
24
|
public_suffix (>= 2.0.2, < 5.0)
|
20
25
|
aruba (2.0.0)
|
@@ -25,12 +30,12 @@ GEM
|
|
25
30
|
rspec-expectations (~> 3.4)
|
26
31
|
thor (~> 1.0)
|
27
32
|
builder (3.2.4)
|
28
|
-
byebug (11.1.3)
|
29
33
|
childprocess (4.1.0)
|
30
34
|
concurrent-ruby (1.1.9)
|
31
35
|
contracts (0.16.1)
|
32
36
|
crack (0.4.5)
|
33
37
|
rexml
|
38
|
+
crass (1.0.6)
|
34
39
|
cucumber (7.0.0)
|
35
40
|
builder (~> 3.2, >= 3.2.4)
|
36
41
|
cucumber-core (~> 10.0, >= 10.0.1)
|
@@ -63,22 +68,28 @@ GEM
|
|
63
68
|
cucumber-cucumber-expressions (~> 12.1, >= 12.1.1)
|
64
69
|
cucumber-messages (~> 17.0, >= 17.0.1)
|
65
70
|
diff-lcs (1.4.4)
|
71
|
+
erubi (1.10.0)
|
66
72
|
ffi (1.15.3)
|
67
73
|
hashdiff (1.0.1)
|
68
|
-
|
69
|
-
mime-types (~> 3.0)
|
70
|
-
multi_xml (>= 0.5.2)
|
71
|
-
i18n (0.9.5)
|
74
|
+
i18n (1.8.10)
|
72
75
|
concurrent-ruby (~> 1.0)
|
76
|
+
loofah (2.10.0)
|
77
|
+
crass (~> 1.0.2)
|
78
|
+
nokogiri (>= 1.5.9)
|
73
79
|
mime-types (3.3.1)
|
74
80
|
mime-types-data (~> 3.2015)
|
75
81
|
mime-types-data (3.2021.0704)
|
76
82
|
minitest (5.14.4)
|
77
|
-
money (6.16.0)
|
78
|
-
i18n (>= 0.6.4, <= 2)
|
79
83
|
multi_test (0.1.2)
|
80
|
-
|
84
|
+
nokogiri (1.11.7-x86_64-darwin)
|
85
|
+
racc (~> 1.4)
|
81
86
|
public_suffix (4.0.6)
|
87
|
+
racc (1.5.2)
|
88
|
+
rails-dom-testing (2.0.3)
|
89
|
+
activesupport (>= 4.2.0)
|
90
|
+
nokogiri (>= 1.6)
|
91
|
+
rails-html-sanitizer (1.3.0)
|
92
|
+
loofah (~> 2.3)
|
82
93
|
rake (13.0.6)
|
83
94
|
rexml (3.2.5)
|
84
95
|
rspec (3.10.0)
|
@@ -97,23 +108,22 @@ GEM
|
|
97
108
|
sys-uname (1.2.2)
|
98
109
|
ffi (~> 1.1)
|
99
110
|
thor (1.1.0)
|
100
|
-
|
101
|
-
|
102
|
-
thread_safe (~> 0.1)
|
111
|
+
tzinfo (2.0.4)
|
112
|
+
concurrent-ruby (~> 1.0)
|
103
113
|
webmock (3.14.0)
|
104
114
|
addressable (>= 2.8.0)
|
105
115
|
crack (>= 0.3.2)
|
106
116
|
hashdiff (>= 0.4.0, < 2.0.0)
|
117
|
+
zeitwerk (2.4.2)
|
107
118
|
|
108
119
|
PLATFORMS
|
109
120
|
x86_64-darwin-19
|
110
121
|
|
111
122
|
DEPENDENCIES
|
112
|
-
activesupport (~> 4.2.0)
|
113
123
|
aruba
|
114
124
|
bit_converter!
|
115
|
-
byebug (~> 11.1, >= 11.1.3)
|
116
125
|
cucumber
|
126
|
+
rake (~> 13.0)
|
117
127
|
rspec (~> 3.2)
|
118
128
|
webmock (~> 3.14)
|
119
129
|
|
data/README.md
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
# BitConverter
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
A simple crypto and fiat currency converter which can also serve as a minimal portfolio tracker. Exchange rate data are from [CoinBase](https://developers.coinbase.com/api/v2).
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
9
|
-
Add this line to your application's Gemfile:
|
10
|
-
|
11
7
|
```ruby
|
12
8
|
gem 'bit_converter'
|
13
9
|
```
|
@@ -22,7 +18,18 @@ Or install it yourself as:
|
|
22
18
|
|
23
19
|
## Usage
|
24
20
|
|
25
|
-
|
21
|
+
```
|
22
|
+
❯ bit -h
|
23
|
+
Commands:
|
24
|
+
bit convert AMOUNT FROM TO # Converts between fiat and crypto currencies
|
25
|
+
|
26
|
+
❯ bit convert 1 btc usd
|
27
|
+
48,840.005
|
28
|
+
|
29
|
+
❯ bit convert 3142 doge btc
|
30
|
+
0.020981663970713434
|
31
|
+
```
|
32
|
+
|
26
33
|
|
27
34
|
## Development
|
28
35
|
|
@@ -32,34 +39,8 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
32
39
|
|
33
40
|
## Contributing
|
34
41
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
42
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/tuang3142/bit-converter.
|
36
43
|
|
37
44
|
## License
|
38
45
|
|
39
46
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
40
|
-
|
41
|
-
|
42
|
-
# bit-converter
|
43
|
-
|
44
|
-
crypto and fiat CLI converter
|
45
|
-
|
46
|
-
# todo
|
47
|
-
|
48
|
-
- [ ] cache data to make it faster
|
49
|
-
- [ ] better test organize
|
50
|
-
- [ ] one import to rule them all?
|
51
|
-
- [ ] currency format
|
52
|
-
- [ ] portfolio
|
53
|
-
- [x] basic convert pairs: fiat-fait, coin-coin, coin-fait
|
54
|
-
- [x] export as rubygem
|
55
|
-
|
56
|
-
# learn
|
57
|
-
|
58
|
-
- make gem
|
59
|
-
- fully tdd
|
60
|
-
- command line
|
61
|
-
- wrap api call (binance, and one more)
|
62
|
-
- design pattern
|
63
|
-
|
64
|
-
- in hindsignt, should have know how to organzie files, how does rails link
|
65
|
-
it all together without having to explicitly require
|
data/Rakefile
CHANGED
@@ -2,7 +2,14 @@
|
|
2
2
|
|
3
3
|
require "bundler/gem_tasks"
|
4
4
|
require "rspec/core/rake_task"
|
5
|
+
require "cucumber/rake/task"
|
5
6
|
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
7
8
|
|
8
|
-
|
9
|
+
desc "Default: run the specs, features, and standard ."
|
10
|
+
task default: %w[spec features]
|
11
|
+
|
12
|
+
Cucumber::Rake::Task.new(:features) do |t|
|
13
|
+
t.fork = true
|
14
|
+
t.cucumber_opts = ["--format", (ENV["CUCUMBER_FORMAT"] || "progress")]
|
15
|
+
end
|
data/{exe → bin}/bit
RENAMED
File without changes
|
data/bit_converter.gemspec
CHANGED
@@ -14,29 +14,24 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = "https://github.com/tuang3142/bit-converter"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
|
-
spec.metadata["
|
18
|
-
spec.metadata["
|
17
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
18
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
19
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
19
20
|
|
20
21
|
# Specify which files should be added to the gem when it is released.
|
21
22
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
22
23
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
23
24
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
24
25
|
end
|
25
|
-
spec.bindir = "
|
26
|
+
spec.bindir = "bin"
|
26
27
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
27
28
|
spec.require_paths = ["lib"]
|
28
29
|
|
29
30
|
spec.required_ruby_version = ">= 2.4.0"
|
30
|
-
spec.add_dependency "httparty", "~> 0.18.1"
|
31
31
|
spec.add_dependency "thor"
|
32
|
-
spec.add_dependency "
|
33
|
-
spec.add_dependency "money", "~> 6.16"
|
32
|
+
spec.add_dependency "actionview", "~> 6.1", ">= 6.1.4.1"
|
34
33
|
spec.add_development_dependency "rspec", "~> 3.2"
|
35
34
|
spec.add_development_dependency "cucumber"
|
36
35
|
spec.add_development_dependency "aruba"
|
37
36
|
spec.add_development_dependency "webmock", "~> 3.14"
|
38
|
-
spec.add_development_dependency "byebug", "~> 11.1", ">= 11.1.3"
|
39
|
-
|
40
|
-
# for the pluralize method in dummy test
|
41
|
-
spec.add_development_dependency "activesupport", "~> 4.2.0"
|
42
37
|
end
|
data/lib/bit_converter.rb
CHANGED
data/lib/bit_converter/cli.rb
CHANGED
@@ -1,24 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "thor"
|
2
4
|
require "bit_converter"
|
3
5
|
|
4
6
|
module BitConverter
|
5
7
|
class CLI < Thor
|
6
|
-
desc "
|
7
|
-
def
|
8
|
-
puts BitConverter::
|
9
|
-
end
|
10
|
-
|
11
|
-
desc "pluralize", "Pluralizes a word"
|
12
|
-
method_option :word, :aliases => :word
|
13
|
-
def pluralize
|
14
|
-
puts BitConverter::Food.pluralize(options[:word])
|
8
|
+
desc "ping", "pong!"
|
9
|
+
def ping
|
10
|
+
puts BitConverter::Ping.ping
|
15
11
|
end
|
16
12
|
|
17
13
|
desc "convert AMOUNT FROM TO", "Converts between fiat and cypto currencies"
|
18
14
|
def convert(amount, from, to)
|
19
|
-
puts BitConverter::Convert.
|
20
|
-
|
21
|
-
|
15
|
+
puts BitConverter::Convert.pretty_convert(amount: amount.to_f,
|
16
|
+
from: from,
|
17
|
+
to: to)
|
18
|
+
rescue RuntimeError => e
|
19
|
+
puts e.message
|
20
|
+
end
|
21
|
+
|
22
|
+
desc "rate FROM TO", "Get exchange rate between fiat and crypto currencies"
|
23
|
+
def rate(from, to)
|
24
|
+
convert(1, from, to)
|
22
25
|
end
|
23
26
|
end
|
24
27
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
3
|
+
require "net/http"
|
4
|
+
require "json"
|
5
|
+
|
4
6
|
module BitConverter
|
5
7
|
class CoinbaseWrapper
|
6
8
|
class << self
|
@@ -11,10 +13,10 @@ module BitConverter
|
|
11
13
|
private
|
12
14
|
|
13
15
|
def get_exchange_rates(coin)
|
14
|
-
|
15
|
-
response =
|
16
|
+
uri = URI("https://api.coinbase.com/v2/exchange-rates?currency=#{coin}")
|
17
|
+
response = Net::HTTP.get(uri)
|
16
18
|
|
17
|
-
JSON.parse(response
|
19
|
+
JSON.parse(response)["data"]["rates"]
|
18
20
|
end
|
19
21
|
|
20
22
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "action_view"
|
4
|
+
|
3
5
|
module BitConverter
|
4
6
|
class Convert
|
5
7
|
class << self
|
@@ -7,14 +9,28 @@ module BitConverter
|
|
7
9
|
rate_of(to.upcase) / rate_of(from.upcase) * amount
|
8
10
|
end
|
9
11
|
|
12
|
+
def pretty_convert(amount:, from:, to:)
|
13
|
+
result = convert(amount: amount, from: from, to: to)
|
14
|
+
|
15
|
+
helper.number_to_currency(result, unit: "")
|
16
|
+
end
|
17
|
+
|
10
18
|
private
|
11
19
|
|
20
|
+
def helper
|
21
|
+
@helper ||= Class.new do
|
22
|
+
include ActionView::Helpers::NumberHelper
|
23
|
+
end.new
|
24
|
+
end
|
25
|
+
|
12
26
|
def rate_of(currency)
|
27
|
+
raise "Currencies #{currency} unavailable" if rates[currency].nil?
|
28
|
+
|
13
29
|
rates[currency].to_f
|
14
30
|
end
|
15
31
|
|
16
32
|
def rates
|
17
|
-
CoinbaseWrapper.usd_exchange_rates
|
33
|
+
@rates ||= CoinbaseWrapper.usd_exchange_rates
|
18
34
|
end
|
19
35
|
end
|
20
36
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bit_converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tuan Nguyen
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2021-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: httparty
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.18.1
|
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.1
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: thor
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,33 +25,25 @@ dependencies:
|
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
28
|
+
name: actionview
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '13.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: money
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
33
|
+
version: '6.1'
|
34
|
+
- - ">="
|
60
35
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
36
|
+
version: 6.1.4.1
|
62
37
|
type: :runtime
|
63
38
|
prerelease: false
|
64
39
|
version_requirements: !ruby/object:Gem::Requirement
|
65
40
|
requirements:
|
66
41
|
- - "~>"
|
67
42
|
- !ruby/object:Gem::Version
|
68
|
-
version: '6.
|
43
|
+
version: '6.1'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 6.1.4.1
|
69
47
|
- !ruby/object:Gem::Dependency
|
70
48
|
name: rspec
|
71
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,72 +100,37 @@ dependencies:
|
|
122
100
|
- - "~>"
|
123
101
|
- !ruby/object:Gem::Version
|
124
102
|
version: '3.14'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: byebug
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '11.1'
|
132
|
-
- - ">="
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: 11.1.3
|
135
|
-
type: :development
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
requirements:
|
139
|
-
- - "~>"
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '11.1'
|
142
|
-
- - ">="
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: 11.1.3
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: activesupport
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: 4.2.0
|
152
|
-
type: :development
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: 4.2.0
|
159
103
|
description: A simple crypto and fiat currency converter which can also serve as a
|
160
104
|
minimal portfolio tracker.
|
161
105
|
email:
|
162
106
|
- hi@tuanguyen.com
|
163
|
-
executables:
|
164
|
-
- bit
|
107
|
+
executables: []
|
165
108
|
extensions: []
|
166
109
|
extra_rdoc_files: []
|
167
110
|
files:
|
168
111
|
- ".gitignore"
|
169
112
|
- ".rspec"
|
170
|
-
- ".rspec_status"
|
171
113
|
- Gemfile
|
172
114
|
- Gemfile.lock
|
173
115
|
- LICENSE.txt
|
174
116
|
- README.md
|
175
117
|
- Rakefile
|
118
|
+
- bin/bit
|
176
119
|
- bin/console
|
177
120
|
- bin/setup
|
178
121
|
- bit_converter.gemspec
|
179
122
|
- cucumber.yml
|
180
|
-
- exe/bit
|
181
123
|
- lib/bit_converter.rb
|
182
124
|
- lib/bit_converter/cli.rb
|
183
125
|
- lib/bit_converter/coinbase_wrapper.rb
|
184
126
|
- lib/bit_converter/convert.rb
|
185
|
-
- lib/bit_converter/
|
127
|
+
- lib/bit_converter/ping.rb
|
186
128
|
- lib/bit_converter/version.rb
|
187
129
|
homepage: https://github.com/tuang3142/bit-converter
|
188
130
|
licenses:
|
189
131
|
- MIT
|
190
132
|
metadata:
|
133
|
+
allowed_push_host: https://rubygems.org
|
191
134
|
homepage_uri: https://github.com/tuang3142/bit-converter
|
192
135
|
source_code_uri: https://github.com/tuang3142/bit-converter
|
193
136
|
post_install_message:
|
data/.rspec_status
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
example_id | status | run_time |
|
2
|
-
---------------------------------------------------- | ------ | --------------- |
|
3
|
-
./spec/bit_converter/coinbase_wrapper_spec.rb[1:1:1] | passed | 0.01462 seconds |
|
4
|
-
./spec/bit_converter/convert_spec.rb[1:1:2] | passed | 0.00349 seconds |
|
5
|
-
./spec/bit_converter/convert_spec.rb[1:1:3] | passed | 0.00376 seconds |
|
6
|
-
./spec/bit_converter/convert_spec.rb[1:1:4] | passed | 0.00404 seconds |
|
7
|
-
./spec/bit_converter/food_spec.rb[1:1] | passed | 0.00116 seconds |
|
8
|
-
./spec/bit_converter/food_spec.rb[1:2] | passed | 0.00007 seconds |
|
9
|
-
./spec/bit_converter/food_spec.rb[1:3] | passed | 0.0001 seconds |
|
10
|
-
./spec/bit_converter_spec.rb[1:1] | passed | 0.00124 seconds |
|
data/lib/bit_converter/food.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "active_support/inflector"
|
4
|
-
|
5
|
-
module BitConverter
|
6
|
-
class Food
|
7
|
-
def self.portray(food)
|
8
|
-
if food.downcase == "broccoli"
|
9
|
-
"Gross!"
|
10
|
-
else
|
11
|
-
"Delicious!"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.pluralize(food)
|
16
|
-
food.pluralize
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|