coinstar 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: 8a2960ea4b6ebd5418cdd74ff2798a1ce619f502
4
- data.tar.gz: 1940c666e1f7b8fc1db9a142749d871eca6e457c
3
+ metadata.gz: ece551c984eda35d63d354c9a06a3e8f5d52bf8d
4
+ data.tar.gz: 8e46582451aa4e178fb885b3a72d06bcecd4be05
5
5
  SHA512:
6
- metadata.gz: df32bb6cc0d6bc85375339fc31659f24f68e802639f9e3416cb4c3485994e2b8d352372cb0cb14b952ea18a811f858ab52f453605518edd5dd1975b2d748aa2e
7
- data.tar.gz: 3c6b729d1b6cff6ef7062ca6bcb5de5fbefc7cb00dbfe515c39cb07860ed116a0c8991c6acfe1c3c455012af349fd3540db58e066d33a9c52275e7adf578eac0
6
+ metadata.gz: 197af7771053b65e5ffd1a1b66d2686ddce1f60e70a3bf704bda22591449d0ce51b3d97b4b76e8396a228920b767e29a70d23fb6c8cc29ee3b1cb1e1e706cba1
7
+ data.tar.gz: b2bcb17a1a16bf9631a49c34610ac52448f6daef35b058e669af176fae2ea2d1684644133eedfe6f461404a447829c043760fa79cf1f77913c5601479d131c19
data/coinstar.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'coinstar'
7
- spec.version = '0.0.4'
7
+ spec.version = '0.0.5'
8
8
  spec.authors = ['Brooks Swinnerton']
9
9
  spec.email = ['bswinnerton@gmail.com']
10
10
  spec.description = %q{GA Apprentice Code Challenge}
@@ -1,6 +1,7 @@
1
1
  module Executable
2
2
  def run(args)
3
- self.send(args[:argument], args[:params]) if self.respond_to? args[:argument]
3
+ result = self.send(args[:argument], args[:params]) if self.respond_to? args[:argument]
4
+ display(result)
4
5
  end
5
6
 
6
7
  def clean_input(args)
@@ -31,4 +32,12 @@ module Executable
31
32
  hash
32
33
  end
33
34
  end
35
+
36
+ def display(result)
37
+ if result.is_a? Hash
38
+ result.map { |k,v| "#{k}: #{v}" }
39
+ else
40
+ result
41
+ end
42
+ end
34
43
  end
@@ -62,15 +62,20 @@ describe ChangeMachine do
62
62
 
63
63
  context 'Takes input from the command line' do
64
64
  it 'makes change' do
65
- clean_input = ChangeMachine.clean_input(["--make_change", "98"])
66
- expect(ChangeMachine.run(clean_input)).to eq( {quarters: 3, dimes: 2, pennies: 3} )
65
+ clean_input = ChangeMachine.clean_input(['--make_change', '98'])
66
+ expect(ChangeMachine.run(clean_input)).to eq( ['quarters: 3', 'dimes: 2', 'pennies: 3'] )
67
67
  end
68
68
 
69
69
  it 'makes cents' do
70
- clean_input = ChangeMachine.clean_input(["--make_cents", "quarters=3", "dimes=2", "pennies=3"])
70
+ clean_input = ChangeMachine.clean_input(['--make_cents', 'quarters=3', 'dimes=2', 'pennies=3'])
71
71
  expect(ChangeMachine.run(clean_input)).to eq( 98 )
72
72
  end
73
73
 
74
+ it 'displays change nicely in the terminal' do
75
+ clean_input = ChangeMachine.clean_input(['--make_change', '76'])
76
+ expect(ChangeMachine.run(clean_input)).to eq( ['quarters: 3', 'pennies: 1'] )
77
+ end
78
+
74
79
  it 'gracefully fails if an argument isn\'t set' do
75
80
  expect { ChangeMachine.clean_input([]) }.to raise_error 'Please enter either --make_change or --make_cents'
76
81
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coinstar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooks Swinnerton