pot_of_coffee 0.3.0 → 0.4.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: 1e503ba1518e82bcf7fd871dde109f4a5f99242e
4
- data.tar.gz: 5186eeac0b0ae2b32fde7ce0139094d9250c3510
2
+ SHA256:
3
+ metadata.gz: 0f76f3500acf845dc3d764c0ca309465cf863190353538bfa9b5fd7f4c73f7a3
4
+ data.tar.gz: dc9203c6694d4b3b1cc80084be5041ccbdf61d792b2c3c2b5a49b4cc4f4e6b1b
5
5
  SHA512:
6
- metadata.gz: c6271c15b0634d0939aedcaa3ac5c2e8e07c022fd11723c39f522049ee06aedf2ab5bcc0acf7a515fcab70bee85a74cc108c4c8804e651940b2ee8bff6d62285
7
- data.tar.gz: 06317f89de83f904fd91f6dce1c968aa970ee8350b8e4a44b6a2dd032e70e4d6bf15140d05fb8898496610b3eb25c85fa624a3ecf48b106fde352661bc571f4c
6
+ metadata.gz: 5899e7cbc4d848e37691235662761c3fbd55b27b0ff1a42268285b351fc89c8516c510473eedd0ed0da17ff53b89d27b1de252b73dbddb29a59648343eae4807
7
+ data.tar.gz: 553f20918532710b2a09c02a3ab61066e72499ea22145516ab91af1892498e88a5925ed99f20cad7499e90c74e6b997629f3e6f8ceec9eb23dd47d9ebcd7abc1
@@ -0,0 +1,25 @@
1
+ version: 2.1
2
+ orbs:
3
+ ruby: circleci/ruby@1.1.0
4
+ slack: circleci/slack@3.4.2
5
+ jobs:
6
+ test:
7
+ docker:
8
+ - image: circleci/ruby:2.7.0
9
+ environment:
10
+ RAILS_ENV: test
11
+ executor: ruby/default
12
+ steps:
13
+ - checkout
14
+ - ruby/install-deps
15
+ - run:
16
+ name: Which bundler?
17
+ command: bundle -v
18
+ - ruby/rubocop-check
19
+ - ruby/rspec-test
20
+ - slack/status
21
+ workflows:
22
+ version: 2
23
+ make_it_so:
24
+ jobs:
25
+ - test
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
@@ -12,4 +11,4 @@
12
11
  *.o
13
12
  *.a
14
13
  mkmf.log
15
- *.gem
14
+ *.gem
@@ -0,0 +1,48 @@
1
+ AllCops:
2
+ DisabledByDefault: true
3
+ TargetRubyVersion: 2.6
4
+
5
+ Layout/EndAlignment:
6
+ Enabled: true
7
+
8
+ Lint/AmbiguousBlockAssociation:
9
+ Enabled: true
10
+
11
+ Layout/LineLength:
12
+ Max: 160
13
+ Exclude:
14
+ - "pot_of_coffee.gemspec"
15
+
16
+ Style/Documentation:
17
+ Enabled: false
18
+
19
+ Style/ExpandPathArguments:
20
+ Enabled: true
21
+
22
+ Style/FrozenStringLiteralComment:
23
+ EnforcedStyle: always
24
+ Exclude:
25
+ - "bin/**/*"
26
+
27
+ Style/HashSyntax:
28
+ EnforcedStyle: no_mixed_keys
29
+
30
+ Style/IfUnlessModifier:
31
+ Exclude:
32
+ - "spec/spec_helper.rb"
33
+
34
+ Style/NumericLiterals:
35
+ MinDigits: 7
36
+
37
+ Style/NumericPredicate:
38
+ EnforcedStyle: predicate
39
+
40
+ Style/SignalException:
41
+ EnforcedStyle: semantic
42
+
43
+ Style/StringLiterals:
44
+ EnforcedStyle: double_quotes
45
+ ConsistentQuotesInMultiline: true
46
+
47
+ Style/SymbolArray:
48
+ EnforcedStyle: percent
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
2
4
 
3
5
  # Specify your gem's dependencies in pot_of_coffee.gemspec
4
6
  gemspec
@@ -0,0 +1,65 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pot_of_coffee (0.3.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ast (2.4.1)
10
+ coderay (1.1.3)
11
+ diff-lcs (1.4.4)
12
+ method_source (1.0.0)
13
+ parallel (1.19.2)
14
+ parser (2.7.1.4)
15
+ ast (~> 2.4.1)
16
+ pry (0.13.1)
17
+ coderay (~> 1.1)
18
+ method_source (~> 1.0)
19
+ rainbow (3.0.0)
20
+ rake (13.0.1)
21
+ regexp_parser (1.7.1)
22
+ rexml (3.2.4)
23
+ rspec (3.9.0)
24
+ rspec-core (~> 3.9.0)
25
+ rspec-expectations (~> 3.9.0)
26
+ rspec-mocks (~> 3.9.0)
27
+ rspec-core (3.9.2)
28
+ rspec-support (~> 3.9.3)
29
+ rspec-expectations (3.9.2)
30
+ diff-lcs (>= 1.2.0, < 2.0)
31
+ rspec-support (~> 3.9.0)
32
+ rspec-mocks (3.9.1)
33
+ diff-lcs (>= 1.2.0, < 2.0)
34
+ rspec-support (~> 3.9.0)
35
+ rspec-support (3.9.3)
36
+ rspec_junit_formatter (0.4.1)
37
+ rspec-core (>= 2, < 4, != 2.12.0)
38
+ rubocop (0.89.1)
39
+ parallel (~> 1.10)
40
+ parser (>= 2.7.1.1)
41
+ rainbow (>= 2.2.2, < 4.0)
42
+ regexp_parser (>= 1.7)
43
+ rexml
44
+ rubocop-ast (>= 0.3.0, < 1.0)
45
+ ruby-progressbar (~> 1.7)
46
+ unicode-display_width (>= 1.4.0, < 2.0)
47
+ rubocop-ast (0.3.0)
48
+ parser (>= 2.7.1.4)
49
+ ruby-progressbar (1.10.1)
50
+ unicode-display_width (1.7.0)
51
+
52
+ PLATFORMS
53
+ ruby
54
+
55
+ DEPENDENCIES
56
+ bundler
57
+ pot_of_coffee!
58
+ pry
59
+ rake
60
+ rspec
61
+ rspec_junit_formatter
62
+ rubocop
63
+
64
+ BUNDLED WITH
65
+ 2.1.4
data/README.md CHANGED
@@ -4,13 +4,14 @@ This is a command line coffee brew calculator.
4
4
  Enter the number of cups you want and the strength.
5
5
  It can also be used in your own code, and you can supply your own units for grounds if you don't want to use tablespoons.
6
6
  I use it to maintain intra-office harmony.
7
+ Imperial and metric units are provided.
7
8
 
8
9
  ## Installation
9
10
 
10
11
  Add this line to your application's Gemfile:
11
12
 
12
13
  ```ruby
13
- gem 'pot_of_coffee'
14
+ gem "pot_of_coffee"
14
15
  ```
15
16
 
16
17
  And then execute:
@@ -24,6 +25,7 @@ Or install it yourself as:
24
25
  ## Usage
25
26
 
26
27
  ### CLI
28
+
27
29
  ```bash
28
30
  $ pot_of_coffee
29
31
  Cups desired: 12
@@ -46,10 +48,11 @@ Grounds needed: 63.6 g
46
48
  ```
47
49
 
48
50
  ### Ruby
51
+
49
52
  ```ruby
50
- require 'pot_of_coffee'
53
+ require "pot_of_coffee"
51
54
 
52
- pot_of_coffee = PotOfCoffee::Brewer.new(quantity: 12, strength: 'mild')
55
+ pot_of_coffee = PotOfCoffee::Brewer.new(quantity: 12, strength: "mild")
53
56
  pot_of_coffee.amount # 6.0
54
57
  pot_of_coffee.instructions
55
58
  #=> Cups desired: 12
@@ -59,7 +62,7 @@ pot_of_coffee.instructions
59
62
 
60
63
  # Metric units
61
64
 
62
- pot_of_coffee = PotOfCoffee::Brewer.new(units: PotOfCoffee::Units::Metric.new)
65
+ pot_of_coffee = PotOfCoffee::Brewer.new(units: PotOfCoffee::Units::Metric)
63
66
  pot_of_coffee.amount # 63.6
64
67
  pot_of_coffee.instructions
65
68
  #=> Cups desired: 12
@@ -68,7 +71,7 @@ pot_of_coffee.instructions
68
71
  ```
69
72
 
70
73
  ## Using your own units
71
- If you want to use a different set of units or different ratios, you can do so quite simply.
74
+ You can use a different set of units or different ratios if you want.
72
75
  Just supply an object that responds to `name`, `abbreviation`, and `table`.
73
76
  `name` and `abbreviation` must be strings.
74
77
  `name` is not used at the moment, but it may be in the future.
@@ -76,16 +79,17 @@ Just supply an object that responds to `name`, `abbreviation`, and `table`.
76
79
  I chose to provide three keys: `:strong`, `:medium`, and `:mild`, but you can use whatever you'd like.
77
80
 
78
81
  ### Example
82
+
79
83
  ```ruby
80
- require 'pot_of_coffee'
84
+ require "pot_of_coffee"
81
85
 
82
86
  class CorgeUnit
83
87
  def name
84
- 'corge'
88
+ "corge"
85
89
  end
86
90
 
87
91
  def abbreviation
88
- 'cg'
92
+ "cg"
89
93
  end
90
94
 
91
95
  def table
@@ -101,16 +105,26 @@ pot_of_coffee = PotOfCoffee::Brewer.new(quantity: 3, strength: :mild, units: Cor
101
105
  pot_of_coffee.amount # 300
102
106
  ```
103
107
 
108
+ The same example can be accomplished easily by making new instance of `PotOfCoffee::Units::Unit`:
109
+
110
+ ```ruby
111
+ corge = PotOfCoffee::Units::Unit.new("corge", "cg", { strong: 3900, medium: 200, mild: 100 })
112
+ pot_of_coffee = PotOfCoffee::Brewer.new(quantity: 3, strength: :mild, units: corge)
113
+ pot_of_coffee.amount # 300
114
+ ```
115
+
116
+
104
117
  ## Tests
105
118
 
106
119
  * Fork/clone the repo
107
120
  * `bundle install`
108
121
  * `bundle exec rspec`
122
+ * `bundle exec rubocop`
109
123
 
110
124
  ## Contributing
111
125
 
112
126
  1. Fork it ( https://github.com/[my-github-username]/pot_of_coffee/fork )
113
127
  2. Create your feature branch (`git checkout -b my-new-feature`)
114
- 3. Commit your changes (`git commit -am 'Add some feature'`)
128
+ 3. Commit your changes (`git commit -am "Add some feature"`)
115
129
  4. Push to the branch (`git push origin my-new-feature`)
116
130
  5. Create a new Pull Request
data/Rakefile CHANGED
@@ -1,11 +1,13 @@
1
- require 'bundler/gem_tasks'
2
- require 'rake/testtask'
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
3
5
 
4
6
  Rake::TestTask.new do |t|
5
- t.libs << 'test'
6
- t.test_files = FileList['test/test_*.rb']
7
+ t.libs << "test"
8
+ t.test_files = FileList["test/test_*.rb"]
7
9
  t.verbose = true
8
10
  end
9
11
 
10
- desc 'Run tests'
12
+ desc "Run tests"
11
13
  task :default => :test
@@ -1,6 +1,7 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
- require 'pry'
4
- require 'pot_of_coffee'
3
+ require "pry"
4
+ require "bundler/setup"
5
+ require "pot_of_coffee"
5
6
 
6
7
  Pry.start
@@ -1,38 +1,38 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
- require 'optparse'
4
- require 'pot_of_coffee'
3
+ require "optparse"
4
+ require "pot_of_coffee"
5
5
 
6
6
  options = {
7
7
  quantity: 12,
8
8
  strength: :medium,
9
- units: PotOfCoffee::Units::Imperial.new
9
+ units: PotOfCoffee::Units::Imperial
10
10
  }
11
11
 
12
12
  OptionParser.new do |opts|
13
13
  opts.banner = "Usage: #{File.basename(__FILE__)} [options]"
14
14
 
15
- opts.on('-q', '--quantity [QUANTITY]', Integer, "Number of cups of coffee you'd like") do |v|
15
+ opts.on("-q", "--quantity [QUANTITY]", Integer, "Number of cups of coffee you'd like") do |v|
16
16
  options[:quantity] = v
17
17
  end
18
18
 
19
- opts.on('-s', '--strength [STRENGTH]', String, 'Strength of your coffee (medium, strong, mild)') do |v|
19
+ opts.on("-s", "--strength [STRENGTH]", String, "Strength of your coffee (medium, strong, mild)") do |v|
20
20
  options[:strength] = v.to_sym
21
21
  end
22
22
 
23
- opts.on('-u', '--units [UNITS]', 'Units for your coffee brew (imperial, metric)') do |v|
23
+ opts.on("-u", "--units [UNITS]", "Units for your coffee brew (imperial, metric)") do |v|
24
24
  options[:units] = case v
25
- when 'metric'
26
- PotOfCoffee::Units::Metric.new
27
- when 'imperial'
28
- PotOfCoffee::Units::Imperial.new
25
+ when "metric"
26
+ PotOfCoffee::Units::Metric
27
+ when "imperial"
28
+ PotOfCoffee::Units::Imperial
29
29
  else
30
30
  puts "#{v} is not 'imperial' or 'metric'"
31
31
  exit
32
- end
32
+ end
33
33
  end
34
34
 
35
- opts.on('-h', '--help', 'Display this screen') do
35
+ opts.on("-h", "--help", "Display this screen") do
36
36
  puts opts
37
37
  exit
38
38
  end
@@ -1,8 +1,8 @@
1
- require 'pot_of_coffee/brewer'
2
- require 'pot_of_coffee/version'
3
- require 'pot_of_coffee/units'
4
- require 'pot_of_coffee/errors'
1
+ # frozen_string_literal: true
5
2
 
6
3
  module PotOfCoffee
7
-
8
- end
4
+ autoload :Brewer, "pot_of_coffee/brewer"
5
+ autoload :Version, "pot_of_coffee/version"
6
+ autoload :Units, "pot_of_coffee/units"
7
+ autoload :Errors, "pot_of_coffee/errors"
8
+ end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PotOfCoffee
2
4
  class Brewer
3
5
  attr_reader :units, :quantity, :strength
4
6
 
5
- def initialize(quantity: 12, strength: :medium, units: Units::Imperial.new)
6
- fail NegativeNumberError unless quantity > 0
7
- fail WrongStrengthError unless units.table.keys.include?(strength)
7
+ def initialize(quantity: 12, strength: :medium, units: Units::Imperial)
8
+ fail Errors::NegativeNumber unless quantity.positive?
9
+ fail Errors::WrongStrength unless units.table.keys.include?(strength)
8
10
 
9
11
  @quantity = quantity
10
12
  @strength = strength
@@ -23,4 +25,4 @@ module PotOfCoffee
23
25
  INSTRUCTIONS
24
26
  end
25
27
  end
26
- end
28
+ end
@@ -1,16 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PotOfCoffee
2
- class CoffeeError < StandardError
3
- end
4
+ module Errors
5
+ class Error < StandardError
6
+ end
4
7
 
5
- class NegativeNumberError < CoffeeError
6
- def message
7
- 'Sorry: coffee quantity must be greater than 0'
8
+ class NegativeNumber < Error
9
+ def message
10
+ "Sorry: coffee quantity must be greater than 0"
11
+ end
8
12
  end
9
- end
10
13
 
11
- class WrongStrengthError < CoffeeError
12
- def message
13
- 'Sorry: coffee strength must be strong, medium, or mild'
14
+ class WrongStrength < Error
15
+ def message
16
+ "Sorry: coffee strength must be strong, medium, or mild"
17
+ end
14
18
  end
15
19
  end
16
- end
20
+ end
@@ -1,7 +1,10 @@
1
- require 'pot_of_coffee/units/imperial'
2
- require 'pot_of_coffee/units/metric'
1
+ # frozen_string_literal: true
3
2
 
4
3
  module PotOfCoffee
5
4
  module Units
5
+ Unit = Struct.new(:name, :abbreviation, :table)
6
+
7
+ Imperial = Unit.new("tablespoon", "tbsp", { mild: 0.5, medium: 0.675, strong: 0.875 })
8
+ Metric = Unit.new("gram", "g", { mild: 2, medium: 4.16, strong: 5.3 })
6
9
  end
7
- end
10
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PotOfCoffee
2
- VERSION = '0.3.0'
4
+ VERSION = "0.4.0"
3
5
  end
@@ -1,25 +1,30 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'pot_of_coffee/version'
5
+ require "pot_of_coffee/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = 'pot_of_coffee'
8
+ spec.name = "pot_of_coffee"
8
9
  spec.version = PotOfCoffee::VERSION
9
- spec.authors = ['Dave Shaffer']
10
- spec.email = ['dave.shaffer@gmail.com']
11
- spec.summary = 'Coffee brew strength calculator'
12
- spec.description = 'This is a small CLI app for calculating the brew strength for an automatic drip coffee maker. It can help keep coffee brews consistent.'
13
- spec.homepage = 'http://daveshaffer.co/coffee'
14
- spec.license = 'MIT'
10
+ spec.authors = ["Dave Shaffer"]
11
+ spec.email = ["dave.shaffer@gmail.com"]
12
+ spec.summary = "Coffee brew strength calculator"
13
+ spec.description = "This is a small CLI app for calculating the brew strength for an automatic drip coffee maker. It can help keep coffee brews consistent."
14
+ spec.homepage = "http://daveshaffer.co/coffee"
15
+ spec.license = "MIT"
16
+
17
+ spec.required_ruby_version = ">= 2.6.0"
15
18
 
16
19
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = ['pot_of_coffee']
20
+ spec.executables = ["pot_of_coffee"]
18
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ['lib']
22
+ spec.require_paths = ["lib"]
20
23
 
21
- spec.add_development_dependency 'bundler', '~> 1.7'
22
- spec.add_development_dependency 'rake', '~> 10.0'
23
- spec.add_development_dependency 'rspec', '~> 3.6.0'
24
- spec.add_development_dependency 'pry', '~> 0.11'
24
+ spec.add_development_dependency "bundler"
25
+ spec.add_development_dependency "pry"
26
+ spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "rspec"
28
+ spec.add_development_dependency "rspec_junit_formatter"
29
+ spec.add_development_dependency "rubocop"
25
30
  end
@@ -1,49 +1,38 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.describe PotOfCoffee::Brewer do
2
- context 'with no arguments' do
4
+ context "with no arguments" do
3
5
  let(:pot_of_coffee) { PotOfCoffee::Brewer.new }
4
6
 
5
- it 'has correct properties and gives instructions' do
7
+ it "has correct properties and gives instructions" do
6
8
  expect(pot_of_coffee.instructions).to eq("Cups desired: 12\nBrew strength: medium\nGrounds needed: 8.1 tbsp\n")
7
9
  expect(pot_of_coffee.quantity).to eq(12)
8
10
  expect(pot_of_coffee.strength).to eq(:medium)
9
11
  end
10
12
  end
11
13
 
12
- context 'with invalid quantity' do
13
- it 'raises PotOfCoffee::NegativeNumberError' do
14
- expect { PotOfCoffee::Brewer.new(quantity: -1) }.to raise_error(PotOfCoffee::NegativeNumberError)
14
+ context "with invalid quantity" do
15
+ it "raises PotOfCoffee::Errors::NegativeNumber" do
16
+ expect { PotOfCoffee::Brewer.new(quantity: -1) }.to raise_error(PotOfCoffee::Errors::NegativeNumber)
15
17
  end
16
18
  end
17
19
 
18
- context 'with invalid strength' do
19
- it 'raises PotOfCoffee::WrongStrengthError' do
20
- expect { PotOfCoffee::Brewer.new(strength: :ultra) }.to raise_error(PotOfCoffee::WrongStrengthError)
20
+ context "with invalid strength" do
21
+ it "raises PotOfCoffee::Errors::WrongStrength" do
22
+ expect { PotOfCoffee::Brewer.new(strength: :ultra) }.to raise_error(PotOfCoffee::Errors::WrongStrength)
21
23
  end
22
24
  end
23
25
 
24
26
 
25
- context 'with own units' do
26
- class WhateverUnit
27
- def name
28
- 'grably'
29
- end
30
-
31
- def abbreviation
32
- 'gb'
33
- end
27
+ context "with own units" do
28
+ let(:pot_of_coffee) { PotOfCoffee::Brewer.new(units: Whatever) }
34
29
 
35
- def table
36
- {
37
- strong: 109109,
38
- medium: 279.10,
39
- mild: 100
40
- }
41
- end
30
+ before do
31
+ whatever = PotOfCoffee::Units::Unit.new("grably", "gb", { strong: 109109, medium: 279.10, mild: 100 })
32
+ stub_const("Whatever", whatever)
42
33
  end
43
34
 
44
- let(:pot_of_coffee) { PotOfCoffee::Brewer.new(units: WhateverUnit.new) }
45
-
46
- it 'can provide your own units' do
35
+ it "can provide your own units" do
47
36
  expect(pot_of_coffee.instructions).to eq("Cups desired: 12\nBrew strength: medium\nGrounds needed: 3349.2 gb\n")
48
37
  end
49
38
  end
@@ -1,30 +1,32 @@
1
- RSpec.shared_examples 'a correct unit' do
2
- describe '#name' do
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples "a correct unit" do
4
+ describe "#name" do
3
5
  subject { units.name }
4
6
  it { is_expected.to be_a(String) }
5
7
  end
6
8
 
7
- describe '#abbreviation' do
9
+ describe "#abbreviation" do
8
10
  subject { units.abbreviation }
9
11
  it { is_expected.to be_a(String) }
10
12
  end
11
13
 
12
- describe '#table' do
14
+ describe "#table" do
13
15
  subject { units.table }
14
- it { is_expected.to satisfy { |t| [:weak, :medium, :strong].each { |key| t.keys.include?(key) } } }
16
+ it { is_expected.to(satisfy { |t| %i[weak medium strong].each { |key| t.keys.include?(key) } }) }
15
17
  end
16
18
  end
17
19
 
18
20
  RSpec.describe PotOfCoffee::Units do
19
- describe 'imperial units' do
20
- let(:units) { PotOfCoffee::Units::Imperial.new }
21
+ describe "Imperial" do
22
+ let(:units) { PotOfCoffee::Units::Imperial }
21
23
 
22
- it_behaves_like 'a correct unit'
24
+ it_behaves_like "a correct unit"
23
25
  end
24
26
 
25
- describe 'metric units' do
26
- let(:units) { PotOfCoffee::Units::Metric.new }
27
+ describe "Metric" do
28
+ let(:units) { PotOfCoffee::Units::Metric }
27
29
 
28
- it_behaves_like 'a correct unit'
30
+ it_behaves_like "a correct unit"
29
31
  end
30
32
  end
@@ -1,4 +1,6 @@
1
- require 'pot_of_coffee'
1
+ # frozen_string_literal: true
2
+
3
+ require "pot_of_coffee"
2
4
 
3
5
  RSpec.configure do |config|
4
6
  config.expect_with :rspec do |expectations|
metadata CHANGED
@@ -1,71 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pot_of_coffee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Shaffer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-30 00:00:00.000000000 Z
11
+ date: 2020-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '0'
20
20
  type: :development
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.7'
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
- version: '10.0'
47
+ version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
- version: '10.0'
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rspec
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: 3.6.0
61
+ version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 3.6.0
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: pry
70
+ name: rspec_junit_formatter
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: '0.11'
75
+ version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '0.11'
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: This is a small CLI app for calculating the brew strength for an automatic
70
98
  drip coffee maker. It can help keep coffee brews consistent.
71
99
  email:
@@ -75,9 +103,12 @@ executables:
75
103
  extensions: []
76
104
  extra_rdoc_files: []
77
105
  files:
106
+ - ".circleci/config.yml"
78
107
  - ".gitignore"
79
108
  - ".rspec"
109
+ - ".rubocop.yml"
80
110
  - Gemfile
111
+ - Gemfile.lock
81
112
  - LICENSE.txt
82
113
  - README.md
83
114
  - Rakefile
@@ -87,8 +118,6 @@ files:
87
118
  - lib/pot_of_coffee/brewer.rb
88
119
  - lib/pot_of_coffee/errors.rb
89
120
  - lib/pot_of_coffee/units.rb
90
- - lib/pot_of_coffee/units/imperial.rb
91
- - lib/pot_of_coffee/units/metric.rb
92
121
  - lib/pot_of_coffee/version.rb
93
122
  - pot_of_coffee.gemspec
94
123
  - spec/pot_of_coffee/brewer_spec.rb
@@ -98,7 +127,7 @@ homepage: http://daveshaffer.co/coffee
98
127
  licenses:
99
128
  - MIT
100
129
  metadata: {}
101
- post_install_message:
130
+ post_install_message:
102
131
  rdoc_options: []
103
132
  require_paths:
104
133
  - lib
@@ -106,16 +135,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
135
  requirements:
107
136
  - - ">="
108
137
  - !ruby/object:Gem::Version
109
- version: '0'
138
+ version: 2.6.0
110
139
  required_rubygems_version: !ruby/object:Gem::Requirement
111
140
  requirements:
112
141
  - - ">="
113
142
  - !ruby/object:Gem::Version
114
143
  version: '0'
115
144
  requirements: []
116
- rubyforge_project:
117
- rubygems_version: 2.6.8
118
- signing_key:
145
+ rubygems_version: 3.1.4
146
+ signing_key:
119
147
  specification_version: 4
120
148
  summary: Coffee brew strength calculator
121
149
  test_files:
@@ -1,21 +0,0 @@
1
- module PotOfCoffee
2
- module Units
3
- class Imperial
4
- def name
5
- 'tablespoon'
6
- end
7
-
8
- def abbreviation
9
- 'tbsp'
10
- end
11
-
12
- def table
13
- {
14
- mild: 0.5,
15
- medium: 0.675,
16
- strong: 0.875,
17
- }
18
- end
19
- end
20
- end
21
- end
@@ -1,21 +0,0 @@
1
- module PotOfCoffee
2
- module Units
3
- class Metric
4
- def name
5
- 'gram'
6
- end
7
-
8
- def abbreviation
9
- 'g'
10
- end
11
-
12
- def table
13
- {
14
- mild: 2,
15
- medium: 4.16,
16
- strong: 5.3
17
- }
18
- end
19
- end
20
- end
21
- end