bit_converter 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|