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