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 +4 -4
- data/brewer.gemspec +1 -1
- data/lib/adaptibrew.rb +2 -0
- data/lib/brewer.rb +12 -4
- data/lib/settings.rb +6 -1
- data/spec/adaptibrew_spec.rb +4 -4
- data/spec/brewer_spec.rb +69 -14
- data/spec/settings_spec.rb +30 -0
- data/spec/spec_helper.rb +1 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5572b66bef3ac9b8ffbb2206436e7f913169ac1
|
4
|
+
data.tar.gz: 0dc67374ebdbea8ad2b074680062ba9e9ed47cd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7023e44fdaf9dae731af5be51870d49895e8bb0d1a63722d7569a7e4ccc88d2a710be613150d3acb324578ec2012238b6a335062241d07a73e7999f9347f5c7d
|
7
|
+
data.tar.gz: a2fefa86d4c98b5c859a4a8faaa2934dd3eb196a1ba1658d1ae2acb94f76ee403c52d67ea0366f3dcde49f42c7db7db5ac47a6ba934b1dc09cd50776b335742d
|
data/brewer.gemspec
CHANGED
data/lib/adaptibrew.rb
CHANGED
data/lib/brewer.rb
CHANGED
@@ -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
|
data/lib/settings.rb
CHANGED
@@ -3,10 +3,15 @@ require 'adaptibrew'
|
|
3
3
|
|
4
4
|
adaptibrew = Adaptibrew.new
|
5
5
|
|
6
|
-
|
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|
|
data/spec/adaptibrew_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe Adaptibrew do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
describe ".clear" do
|
14
|
-
context "when the repo
|
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
|
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
|
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 }
|
data/spec/brewer_spec.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
|
data/spec/spec_helper.rb
CHANGED
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.
|
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
|