brewer 0.0.53 → 0.0.60

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: 8f29c295815d82e703dfdb7783c660a1e08af700
4
- data.tar.gz: 2433eee7cfd944fa36ba122789bae154195852c9
3
+ metadata.gz: b5572b66bef3ac9b8ffbb2206436e7f913169ac1
4
+ data.tar.gz: 0dc67374ebdbea8ad2b074680062ba9e9ed47cd2
5
5
  SHA512:
6
- metadata.gz: 529d6b37c55830843b8937ced832f9429a54fbfcc0385bfcdf38e5dc8e3aee37755e42569a6fda13bb6844fb861ad2e34902a323dd8616fe39896a7880c2d6d1
7
- data.tar.gz: a713b0a35fbaebea80a9cf34e19f434af271b4a0ca007fe3b82750b7ff8de33fda871927ec5e7953c26e0336bca4567b0c4fa9693361c89d9d1a977632a36d83
6
+ metadata.gz: 7023e44fdaf9dae731af5be51870d49895e8bb0d1a63722d7569a7e4ccc88d2a710be613150d3acb324578ec2012238b6a335062241d07a73e7999f9347f5c7d
7
+ data.tar.gz: a2fefa86d4c98b5c859a4a8faaa2934dd3eb196a1ba1658d1ae2acb94f76ee403c52d67ea0366f3dcde49f42c7db7db5ac47a6ba934b1dc09cd50776b335742d
@@ -2,7 +2,7 @@ require 'rake'
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "brewer"
5
- s.version = "0.0.53"
5
+ s.version = "0.0.60"
6
6
  s.default_executable = "brewer"
7
7
 
8
8
  s.authors = ["Luke Sweeney"]
@@ -7,6 +7,8 @@ include Helpers
7
7
  # This is the 'manager' for the adaptibrew repo. It handles cloning and such.
8
8
  class Adaptibrew
9
9
 
10
+ attr_accessor :install_dir
11
+
10
12
  def initialize
11
13
  @install_dir = Dir.home + "/.brewer/"
12
14
  end
@@ -34,9 +34,11 @@ class Brewer
34
34
  end
35
35
 
36
36
  # Only works on Mac :(
37
+ # :nocov:
37
38
  def say(message="done")
38
39
  system("say #{message}")
39
40
  end
41
+ # :nocov:
40
42
 
41
43
  # Runs an adaptibrew script
42
44
  # Output will be stored in @out
@@ -57,8 +59,10 @@ class Brewer
57
59
  def echo(string=nil)
58
60
  if string == nil
59
61
  puts @out.first
62
+ return @out.first
60
63
  end
61
64
  puts string
65
+ return string
62
66
  end
63
67
 
64
68
 
@@ -94,8 +98,6 @@ class Brewer
94
98
  elsif state == 0
95
99
  return script("set_pid_off")
96
100
  end
97
-
98
- true
99
101
  end
100
102
 
101
103
  def sv(temp=nil)
@@ -105,11 +107,10 @@ class Brewer
105
107
  else
106
108
  return script('get_sv')
107
109
  end
108
- true
109
110
  end
110
111
 
111
112
  def pv
112
- script('get_pv')
113
+ return script('get_pv')
113
114
  end
114
115
 
115
116
  def relay(relay, state)
@@ -123,20 +124,24 @@ class Brewer
123
124
  true
124
125
  end
125
126
 
127
+ # TODO: Fix the return value here
126
128
  def relay_status(relay)
127
129
  raise "Relay number needs to be an integer" unless relay.is_a? Integer
128
130
  script("get_relay_status", "#{relay}")
129
131
  return @out.first.split('\n')
130
132
  end
131
133
 
134
+ # :nocov:
132
135
  def watch
133
136
  until pv.to_i == sv.to_i do
134
137
  wait(8)
135
138
  end
136
139
  true
137
140
  end
141
+ # :nocov:
138
142
 
139
143
  # WaterVolInQuarts, GrainMassInPounds, GrainTemp, MashTemp
144
+ # :nocov:
140
145
  def get_strike_temp
141
146
  print "Input amount of water in quarts: "
142
147
  water = gets.chomp
@@ -162,6 +167,7 @@ class Brewer
162
167
  sv(echo.to_i)
163
168
  puts "SV has been set to #{sv} degrees"
164
169
  end
170
+ # :nocov:
165
171
 
166
172
  # Master Procedures -----------------------------------------------------
167
173
  # The main steps in the brewing proccess
@@ -180,6 +186,7 @@ class Brewer
180
186
  true
181
187
  end
182
188
 
189
+ # :nocov:
183
190
  def heat_strike_water
184
191
  print "Is the strike water in the mash tun? "
185
192
  confirm ? nil : abort
@@ -222,5 +229,6 @@ class Brewer
222
229
 
223
230
  true
224
231
  end
232
+ # :nocov:
225
233
 
226
234
  end
@@ -3,10 +3,15 @@ require 'adaptibrew'
3
3
 
4
4
  adaptibrew = Adaptibrew.new
5
5
 
6
- if !adaptibrew.present?
6
+ # This might not make sense, its for tests
7
+ def get_repo_for_settings(adaptibrew)
7
8
  adaptibrew.clone
8
9
  end
9
10
 
11
+ if !adaptibrew.present?
12
+ get_repo_for_settings(adaptibrew)
13
+ end
14
+
10
15
  $settings = {}
11
16
 
12
17
  File.open(Dir.home + '/.brewer/adaptibrew/settings.py') do |file|
@@ -11,7 +11,7 @@ describe Adaptibrew do
11
11
  end
12
12
 
13
13
  describe ".clear" do
14
- context "when the repo already exists" do
14
+ context "when the repo exists" do
15
15
  let(:adaptibrew) { Adaptibrew.new }
16
16
  specify { expect(adaptibrew.present?).to be true }
17
17
 
@@ -70,17 +70,17 @@ describe Adaptibrew do
70
70
  end
71
71
 
72
72
  describe ".present?" do
73
- context "when the repo is present" do
73
+ context "when the exists" do
74
74
  let(:adaptibrew) { Adaptibrew.new }
75
75
  before { adaptibrew.refresh }
76
- specify { expect(Dir.exists?('adaptibrew')).to be true }
76
+ specify { expect(Dir.exists?(Dir.home + '/.brewer/adaptibrew')).to be true }
77
77
 
78
78
  it "returns true" do
79
79
  expect(@adaptibrew.present?).to be true
80
80
  end
81
81
  end
82
82
 
83
- context "when the repo is not present" do
83
+ context "when the repo does not exist" do
84
84
  let(:adaptibrew) { Adaptibrew.new }
85
85
  before { adaptibrew.clear }
86
86
  specify { expect(Dir.exists?('adaptibrew')).to be false }
@@ -15,6 +15,7 @@ describe Brewer do
15
15
  @brewer = Brewer.new
16
16
  @brewer.pump(0)
17
17
  @brewer.pid(0)
18
+ @brewer.boot
18
19
  end
19
20
 
20
21
  describe "#new" do
@@ -39,8 +40,7 @@ describe Brewer do
39
40
 
40
41
  describe ".script" do
41
42
  it "can run a python script and get output" do
42
- @brewer.script('python_tester')
43
- expect(@brewer.out.include?("it worked")).to be true
43
+ expect(@brewer.script('python_tester')).to eq("it worked")
44
44
  end
45
45
  end
46
46
 
@@ -60,41 +60,96 @@ describe Brewer do
60
60
  describe ".pump" do
61
61
  # If the pump is already on it does nothing
62
62
  it "turns the pump on" do
63
- @brewer.pump(1)
63
+ expect(@brewer.pump(1)).to eq("pump on")
64
64
  @brewer.wait(2)
65
- expect(@brewer.out.include?("pump on")).to be true
66
65
  end
67
66
 
68
67
  # If the pump is already off it does nothing
69
68
  it "turns the pump off" do
70
- @brewer.pump(0)
71
- expect(@brewer.out.include?("pump off")).to be true
69
+ expect(@brewer.pump(0)).to eq("pump off")
70
+ end
71
+
72
+ # cant really test this one...
73
+ context "when the pid is also on" do
74
+ # This turns on both pump and pid
75
+ before { @brewer.pid(1) }
76
+ it "turns the pump and pid off" do
77
+ expect(@brewer.pump(0)).to eq("pump off")
78
+ end
72
79
  end
73
80
  end
74
81
 
75
82
  describe ".relay" do
76
83
  it "turns the relay on" do
77
- @brewer.relay(2, 1)
84
+ expect(@brewer.relay(2, 1)).to eq("relay 2 on")
78
85
  @brewer.wait(7)
79
- expect(@brewer.out.include?("relay 2 on"))
80
86
  end
81
87
 
82
88
  it "turns the relay off" do
83
- @brewer.relay(2, 0)
89
+ expect(@brewer.relay(2, 0)).to eq("relay 2 off")
84
90
  @brewer.wait(7)
85
- expect(@brewer.out.include?("relay 2 off"))
86
91
  end
87
92
  end
88
93
 
89
94
  describe ".pid" do
90
95
  it "turns the pid on" do
91
- @brewer.pid(1)
92
- expect(@brewer.out.include?("PID on")).to be true
96
+ expect(@brewer.pid(1)).to eq("Pump and PID are now on")
97
+ @brewer.wait(2)
93
98
  end
94
99
 
95
100
  it "turns the pid off" do
96
- @brewer.pid(0)
97
- expect(@brewer.out.include?("PID off")).to be true
101
+ expect(@brewer.pid(0)).to eq("PID off")
102
+ end
103
+
104
+ it "returns the pid status" do
105
+ expect(@brewer.pid).to be_an_instance_of Hash
106
+ end
107
+ end
108
+
109
+ describe ".sv" do
110
+ context "when there is no argument" do
111
+ it "returns the sv temp" do
112
+ expect(@brewer.sv).to be_an_instance_of String
113
+ end
114
+ end
115
+
116
+ context "when there is an argument" do
117
+ it "sets the sv temp" do
118
+ expect(@brewer.sv(150)).to be_an_instance_of String
119
+ end
120
+ end
121
+ end
122
+
123
+ describe ".pv" do
124
+ it "returns the pv" do
125
+ expect(@brewer.pv).to be_an_instance_of String
126
+ end
127
+ end
128
+
129
+ describe ".ping" do
130
+ it "pings slack" do
131
+ expect(@brewer.ping("Tests are passing :D")).to be_an_instance_of Net::HTTPOK
132
+ end
133
+ end
134
+
135
+ describe ".echo" do
136
+ context "when there is an argument" do
137
+ it "prints the arg" do
138
+ expect(@brewer.echo("just part of a test")).to eq("just part of a test")
139
+ end
140
+ end
141
+
142
+ context "when there is no argument" do
143
+ before { @brewer.pv }
144
+ it "prints the last output" do
145
+ expect(@brewer.echo).to be_an_instance_of String
146
+ end
147
+ end
148
+ end
149
+
150
+ describe ".relay_status" do
151
+ it "returns the status of a relay" do
152
+ expect(@brewer.relay_status($settings['rimsToMashRelay'].to_i)).not_to be_empty
98
153
  end
99
154
  end
100
155
 
@@ -0,0 +1,30 @@
1
+ require_relative 'spec_helper'
2
+
3
+
4
+ describe "Settings" do
5
+
6
+ before :all do
7
+ @adaptibrew = Adaptibrew.new
8
+ end
9
+
10
+ describe "settings" do
11
+ it "can print the settings" do
12
+ expect($settings).to be_an_instance_of Hash
13
+ expect($settings).not_to be_empty
14
+ end
15
+ end
16
+
17
+ describe "clone" do
18
+ context "when the repo does not exist" do
19
+ let(:adaptibrew) { Adaptibrew.new }
20
+ before { adaptibrew.clear }
21
+ specify { expect(adaptibrew.present?).to be false }
22
+
23
+ it "clones the repo" do
24
+ get_repo_for_settings(@adaptibrew)
25
+ expect(@adaptibrew.present?).to be true
26
+ end
27
+ end
28
+ end
29
+
30
+ end
@@ -8,3 +8,4 @@ SimpleCov.start
8
8
  require_relative '../lib/adaptibrew.rb'
9
9
  require_relative '../lib/brewer.rb'
10
10
  require_relative '../lib/helpers.rb'
11
+ require_relative '../lib/settings.rb'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brewer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.53
4
+ version: 0.0.60
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Sweeney
@@ -201,6 +201,7 @@ files:
201
201
  - spec/adaptibrew_spec.rb
202
202
  - spec/brewer_spec.rb
203
203
  - spec/helpers_spec.rb
204
+ - spec/settings_spec.rb
204
205
  - spec/spec_helper.rb
205
206
  homepage: https://rubygems.org/gems/brewer
206
207
  licenses:
@@ -231,4 +232,5 @@ test_files:
231
232
  - spec/adaptibrew_spec.rb
232
233
  - spec/brewer_spec.rb
233
234
  - spec/helpers_spec.rb
235
+ - spec/settings_spec.rb
234
236
  - spec/spec_helper.rb