brewer 0.0.71 → 0.0.74
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/Gemfile +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/bin/brewer +1 -1
- data/lib/adaptibrew.rb +1 -0
- data/lib/autoload.rb +1 -0
- data/lib/brewer.rb +0 -0
- data/lib/communicator.rb +4 -4
- data/lib/helpers.rb +0 -0
- data/lib/procedures.rb +23 -22
- data/lib/settings.rb +33 -9
- data/spec/adaptibrew_spec.rb +0 -0
- data/spec/brewer_spec.rb +0 -0
- data/spec/hardware_spec.rb +0 -0
- data/spec/helpers_spec.rb +0 -0
- data/spec/settings_spec.rb +0 -0
- data/spec/spec_helper.rb +0 -0
- metadata +20 -9
- data/Gemfile.lock +0 -61
- data/brewer.gemspec +0 -40
- data/notes.md +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8aa172acc226aadb16fb03b06b575210280922b9
|
4
|
+
data.tar.gz: c96b3a8880704a56dc86788fbc67dd829cd2f430
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd81a20b19545d25ccdd75758c54155d5123a90e7b96e400866e04bc7a80bf9c3d371d5b6c5a0ccdb6c53e4a891c1a096467c6ca90ba9561250852ea436c55ef
|
7
|
+
data.tar.gz: 68d0ae3b51235a0760cd49c7b4586afe381092898f72c6eba83d9aa83f52554af148997b7fb0355532dd215da50c942785b6bd609787f6625c2fbbc38135d753
|
data/Gemfile
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
data/bin/brewer
CHANGED
data/lib/adaptibrew.rb
CHANGED
data/lib/autoload.rb
CHANGED
data/lib/brewer.rb
CHANGED
File without changes
|
data/lib/communicator.rb
CHANGED
@@ -10,14 +10,14 @@ class Communicator
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def configure_slack
|
13
|
-
|
14
|
-
|
15
|
-
store = YAML::Store.new
|
13
|
+
raise "settings.rb must be called before slack is configured" unless $settings
|
14
|
+
unless File.readlines($settings['settings_cache']).grep(/webhook_url/).size > 0
|
15
|
+
store = YAML::Store.new $settings['settings_cache']
|
16
16
|
print "Enter your Slack webhook url: "
|
17
17
|
webhook_url = gets.chomp
|
18
18
|
store.transaction { store['webhook_url'] = webhook_url }
|
19
19
|
end
|
20
|
-
return Slack::Notifier.new YAML.load(File.open(
|
20
|
+
return Slack::Notifier.new YAML.load(File.open($settings['settings_cache']))['webhook_url']
|
21
21
|
end
|
22
22
|
|
23
23
|
def ping(message="ping at #{Time.now}")
|
data/lib/helpers.rb
CHANGED
File without changes
|
data/lib/procedures.rb
CHANGED
@@ -63,7 +63,7 @@ class Procedures
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def boot
|
66
|
-
puts "booting..."
|
66
|
+
puts Rainbow("booting...").yellow
|
67
67
|
@brewer.pid(0)
|
68
68
|
@brewer.pump(0)
|
69
69
|
@brewer.rims_to('mash')
|
@@ -72,9 +72,9 @@ class Procedures
|
|
72
72
|
puts @brewer.pid
|
73
73
|
|
74
74
|
@brewer.clear
|
75
|
-
puts "Boot
|
75
|
+
puts Rainbow("Boot finished!").green
|
76
76
|
@brewer.out.unshift("successful boot at #{Time.now}")
|
77
|
-
@com.ping("🍺 boot
|
77
|
+
@com.ping("🍺 boot finished 🍺")
|
78
78
|
true
|
79
79
|
end
|
80
80
|
|
@@ -83,16 +83,16 @@ class Procedures
|
|
83
83
|
puts "heat-strike-water procedure started"
|
84
84
|
|
85
85
|
# Confirm strike water is in the mash tun
|
86
|
-
print "Is the strike water in the mash tun? "
|
86
|
+
print Rainbow("Is the strike water in the mash tun? ").yellow
|
87
87
|
# -> response
|
88
88
|
confirm ? nil : abort
|
89
89
|
|
90
90
|
# confirm return manifold is in the mash tun
|
91
|
-
print "Is the return manifold in the mash tun? "
|
91
|
+
print Rainbow("Is the return manifold in the mash tun? ").yellow
|
92
92
|
# -> response
|
93
93
|
confirm ? nil : abort
|
94
94
|
|
95
|
-
print "Is the mash tun valve open? "
|
95
|
+
print Rainbow("Is the mash tun valve open? ").yellow
|
96
96
|
confirm ? nil : abort
|
97
97
|
|
98
98
|
# confirm RIMS relay is on
|
@@ -103,7 +103,8 @@ class Procedures
|
|
103
103
|
@brewer.pump(1)
|
104
104
|
puts "Pump is now on"
|
105
105
|
|
106
|
-
puts "Is the pump running properly? "
|
106
|
+
puts Rainbow("Is the pump running properly? ").yellow
|
107
|
+
# TODO: Test this
|
107
108
|
until confirm
|
108
109
|
puts "restarting pump"
|
109
110
|
@brewer.pump(0)
|
@@ -112,7 +113,7 @@ class Procedures
|
|
112
113
|
end
|
113
114
|
|
114
115
|
# confirm that strike water is circulating well
|
115
|
-
print "Is the strike water circulating well? "
|
116
|
+
print Rainbow("Is the strike water circulating well? ").yellow
|
116
117
|
# -> response
|
117
118
|
confirm ? nil : abort
|
118
119
|
|
@@ -134,10 +135,7 @@ class Procedures
|
|
134
135
|
# when strike temp is reached, @com.ping slack
|
135
136
|
@brewer.watch
|
136
137
|
@com.ping("Strike water heated to #{@brewer.pv}. Maintaining temperature.")
|
137
|
-
|
138
|
-
puts "Next step: dough in"
|
139
|
-
puts "command: brewer.dough_in"
|
140
|
-
|
138
|
+
puts Rainbow("Strike water heated. Maintaining temp.").green
|
141
139
|
true
|
142
140
|
end
|
143
141
|
# :nocov:
|
@@ -149,11 +147,11 @@ class Procedures
|
|
149
147
|
@brewer.pid(0)
|
150
148
|
@brewer.wait(3)
|
151
149
|
@com.ping("Ready to dough in")
|
152
|
-
puts "Ready to dough in"
|
150
|
+
puts Rainbow("Ready to dough in").green
|
153
151
|
|
154
152
|
# pour in grain
|
155
153
|
|
156
|
-
print "Confirm when you're done with dough-in (y): "
|
154
|
+
print Rainbow("Confirm when you're done with dough-in (y): ").yellow
|
157
155
|
confirm ? nil : abort
|
158
156
|
true
|
159
157
|
end
|
@@ -161,7 +159,7 @@ class Procedures
|
|
161
159
|
def mash
|
162
160
|
@brewer.sv(@recipe['mash_temp'])
|
163
161
|
|
164
|
-
puts "mash stated. This will take a while."
|
162
|
+
puts Rainbow("mash stated. This will take a while.").green
|
165
163
|
@com.ping("Mash started. This will take a while.")
|
166
164
|
|
167
165
|
@brewer.rims_to('mash')
|
@@ -173,7 +171,7 @@ class Procedures
|
|
173
171
|
@com.ping("Mash temp (#{@brewer.pv} F) reached. Starting timer for #{@recipe['mash_time']} minutes.")
|
174
172
|
@brewer.wait(@recipe['mash_time'])
|
175
173
|
@com.ping("🍺 Mash complete 🍺. Check for starch conversion.")
|
176
|
-
puts "Mash complete"
|
174
|
+
puts Rainbow("Mash complete").green
|
177
175
|
puts "Check for starch conversion"
|
178
176
|
end
|
179
177
|
|
@@ -191,13 +189,14 @@ class Procedures
|
|
191
189
|
end
|
192
190
|
|
193
191
|
def sparge
|
194
|
-
print "Is the sparge water heated to the correct temperature? "
|
192
|
+
print Rainbow("Is the sparge water heated to the correct temperature? ").yellow
|
195
193
|
confirm ? nil : abort
|
196
194
|
|
197
195
|
@brewer.hlt_to('mash')
|
198
196
|
@brewer.hlt(1)
|
199
197
|
|
200
|
-
|
198
|
+
print "Waiting for 10 seconds. "
|
199
|
+
puts Rainbow("Regulate sparge balance.").yellow
|
201
200
|
puts "(ctrl-c to abort proccess)"
|
202
201
|
@brewer.wait(30)
|
203
202
|
|
@@ -206,7 +205,7 @@ class Procedures
|
|
206
205
|
|
207
206
|
@com.ping("Please check the sparge balance and ignite boil tun burner")
|
208
207
|
|
209
|
-
puts "Waiting until intervention to turn off pump (y): "
|
208
|
+
puts Rainbow("Waiting until intervention to turn off pump (y): ").yellow
|
210
209
|
confirm ? nil : abort
|
211
210
|
|
212
211
|
@brewer.pid(0)
|
@@ -220,12 +219,13 @@ class Procedures
|
|
220
219
|
|
221
220
|
@brewer.hlt(1)
|
222
221
|
|
223
|
-
print "waiting for intervention to turn off hlt (y): "
|
222
|
+
print Rainbow("waiting for intervention to turn off hlt (y): ").yellow
|
224
223
|
confirm ? nil : abort
|
225
224
|
|
226
225
|
@brewer.hlt(0)
|
227
226
|
|
228
|
-
@com.ping('Topping off
|
227
|
+
@com.ping('Topping off complete')
|
228
|
+
puts Rainbow("Topping off complete").green
|
229
229
|
end
|
230
230
|
|
231
231
|
def boil
|
@@ -237,7 +237,8 @@ class Procedures
|
|
237
237
|
@brewer.wait(to_seconds(13))
|
238
238
|
@com.ping("Add finishing hops")
|
239
239
|
@brewer.wait(30)
|
240
|
-
@com.ping("
|
240
|
+
@com.ping("Done.")
|
241
|
+
puts Rainbow("Done.").green
|
241
242
|
end
|
242
243
|
|
243
244
|
end
|
data/lib/settings.rb
CHANGED
@@ -1,25 +1,49 @@
|
|
1
1
|
require_relative "autoload"
|
2
2
|
|
3
|
-
|
3
|
+
$settings = {}
|
4
4
|
|
5
|
+
adaptibrew = Adaptibrew.new
|
5
6
|
# This might not make sense, its for tests
|
6
7
|
def get_repo_for_settings(adaptibrew)
|
7
8
|
adaptibrew.clone
|
8
9
|
end
|
9
|
-
|
10
10
|
if !adaptibrew.present?
|
11
11
|
get_repo_for_settings(adaptibrew)
|
12
12
|
end
|
13
|
+
# End nonsense
|
13
14
|
|
14
|
-
$settings =
|
15
|
+
$settings['settings_cache'] = Dir.home + "/.brewer/.settings.yml"
|
16
|
+
adaptibrew_settings_file = Dir.home + '/.brewer/adaptibrew/settings.py'
|
17
|
+
|
18
|
+
if !File.exists?($settings['settings_cache'])
|
19
|
+
File.open($settings['settings_cache'], 'w')
|
20
|
+
end
|
15
21
|
|
16
|
-
|
17
|
-
|
18
|
-
|
22
|
+
def parse_setting_from_line(line)
|
23
|
+
key, value = line.match(/(.+)=(.+)/).captures
|
24
|
+
value.slice!(/#.+/)
|
25
|
+
$settings[key.strip.chomp] = value.strip.chomp
|
26
|
+
end
|
27
|
+
|
28
|
+
unless File.readlines(adaptibrew_settings_file).grep(/DEBUG/).size > 0
|
29
|
+
File.readlines(adaptibrew_settings_file) do |line|
|
30
|
+
if !line.include? "="
|
31
|
+
next
|
32
|
+
end
|
33
|
+
parse_setting_from_line(line)
|
34
|
+
end
|
35
|
+
|
36
|
+
store = YAML::Store.new $settings['settings_cache']
|
37
|
+
store.transaction {
|
38
|
+
$settings.each do |k, v|
|
39
|
+
store[k] = v
|
40
|
+
end
|
41
|
+
}
|
42
|
+
else
|
43
|
+
File.readlines(adaptibrew_settings_file).each do |line|
|
44
|
+
if !line.include? "="
|
19
45
|
next
|
20
46
|
end
|
21
|
-
|
22
|
-
value.slice!(/#.+/)
|
23
|
-
$settings[key.strip.chomp] = value.strip.chomp
|
47
|
+
parse_setting_from_line(line)
|
24
48
|
end
|
25
49
|
end
|
data/spec/adaptibrew_spec.rb
CHANGED
File without changes
|
data/spec/brewer_spec.rb
CHANGED
File without changes
|
data/spec/hardware_spec.rb
CHANGED
File without changes
|
data/spec/helpers_spec.rb
CHANGED
File without changes
|
data/spec/settings_spec.rb
CHANGED
File without changes
|
data/spec/spec_helper.rb
CHANGED
File without changes
|
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.74
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Sweeney
|
@@ -62,16 +62,16 @@ dependencies:
|
|
62
62
|
name: wannabe_bool
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '0'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
74
|
+
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: slack-notifier
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +114,20 @@ dependencies:
|
|
114
114
|
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: rainbow
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
type: :runtime
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
117
131
|
- !ruby/object:Gem::Dependency
|
118
132
|
name: rake
|
119
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,11 +244,9 @@ extensions: []
|
|
230
244
|
extra_rdoc_files: []
|
231
245
|
files:
|
232
246
|
- Gemfile
|
233
|
-
- Gemfile.lock
|
234
247
|
- README.md
|
235
248
|
- Rakefile
|
236
249
|
- bin/brewer
|
237
|
-
- brewer.gemspec
|
238
250
|
- lib/adaptibrew.rb
|
239
251
|
- lib/autoload.rb
|
240
252
|
- lib/brewer.rb
|
@@ -242,7 +254,6 @@ files:
|
|
242
254
|
- lib/helpers.rb
|
243
255
|
- lib/procedures.rb
|
244
256
|
- lib/settings.rb
|
245
|
-
- notes.md
|
246
257
|
- spec/adaptibrew_spec.rb
|
247
258
|
- spec/brewer_spec.rb
|
248
259
|
- spec/hardware_spec.rb
|
@@ -270,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
281
|
version: '0'
|
271
282
|
requirements: []
|
272
283
|
rubyforge_project:
|
273
|
-
rubygems_version: 2.
|
284
|
+
rubygems_version: 2.2.2
|
274
285
|
signing_key:
|
275
286
|
specification_version: 4
|
276
287
|
summary: A shell interface for adaptibrew
|
data/Gemfile.lock
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
brewer (0.0.40)
|
5
|
-
git (~> 1.3, >= 1.3.0)
|
6
|
-
net-ping (~> 1.7)
|
7
|
-
ripl (~> 0.7.0)
|
8
|
-
slack-notifier
|
9
|
-
|
10
|
-
GEM
|
11
|
-
remote: https://rubygems.org/
|
12
|
-
specs:
|
13
|
-
addressable (2.5.0)
|
14
|
-
public_suffix (~> 2.0, >= 2.0.2)
|
15
|
-
bond (0.5.1)
|
16
|
-
diff-lcs (1.2.5)
|
17
|
-
docile (1.1.5)
|
18
|
-
git (1.3.0)
|
19
|
-
json (2.0.3)
|
20
|
-
launchy (2.4.3)
|
21
|
-
addressable (~> 2.3)
|
22
|
-
net-ping (1.7.8)
|
23
|
-
public_suffix (2.0.4)
|
24
|
-
rake (12.0.0)
|
25
|
-
rdoc (5.1.0)
|
26
|
-
ripl (0.7.1)
|
27
|
-
bond (~> 0.5.1)
|
28
|
-
rspec (3.5.0)
|
29
|
-
rspec-core (~> 3.5.0)
|
30
|
-
rspec-expectations (~> 3.5.0)
|
31
|
-
rspec-mocks (~> 3.5.0)
|
32
|
-
rspec-core (3.5.4)
|
33
|
-
rspec-support (~> 3.5.0)
|
34
|
-
rspec-expectations (3.5.0)
|
35
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
-
rspec-support (~> 3.5.0)
|
37
|
-
rspec-mocks (3.5.0)
|
38
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
39
|
-
rspec-support (~> 3.5.0)
|
40
|
-
rspec-support (3.5.0)
|
41
|
-
simplecov (0.13.0)
|
42
|
-
docile (~> 1.1.0)
|
43
|
-
json (>= 1.8, < 3)
|
44
|
-
simplecov-html (~> 0.10.0)
|
45
|
-
simplecov-html (0.10.0)
|
46
|
-
slack-notifier (2.1.0)
|
47
|
-
|
48
|
-
PLATFORMS
|
49
|
-
ruby
|
50
|
-
|
51
|
-
DEPENDENCIES
|
52
|
-
brewer!
|
53
|
-
launchy (~> 2.4, >= 2.4.0)
|
54
|
-
rake (~> 12.0, >= 12.0.0)
|
55
|
-
rdoc (~> 5.1, >= 5.1.0)
|
56
|
-
rspec (~> 3.5.0, >= 3.5.0)
|
57
|
-
simplecov (~> 0.13.0)
|
58
|
-
simplecov-html (~> 0.10.0)
|
59
|
-
|
60
|
-
BUNDLED WITH
|
61
|
-
1.12.5
|
data/brewer.gemspec
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
require 'rake'
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = "brewer"
|
5
|
-
s.version = "0.0.71"
|
6
|
-
s.default_executable = "brewer"
|
7
|
-
|
8
|
-
s.authors = ["Luke Sweeney"]
|
9
|
-
s.date = %q{2017-03-08}
|
10
|
-
s.description = %q{A Ruby API for adaptiman/adaptibrew}
|
11
|
-
s.post_install_message = "🍺 have fun 🍺"
|
12
|
-
s.email = %q{luke@thesweeneys.org}
|
13
|
-
s.files = FileList.new(['lib/*.rb', 'bin/*', '[A-Z]*', 'spec/*.rb']).to_a
|
14
|
-
s.executables = ['brewer']
|
15
|
-
s.bindir = 'bin'
|
16
|
-
s.test_files = FileList.new(["spec/*.rb"]).to_a
|
17
|
-
s.homepage = %q{https://rubygems.org/gems/brewer}
|
18
|
-
s.require_paths = ["lib", "lib"]
|
19
|
-
s.rubygems_version = %q{1.6.2}
|
20
|
-
s.summary = %q{A shell interface for adaptibrew}
|
21
|
-
s.license = 'MIT'
|
22
|
-
|
23
|
-
# Runtime dependencies
|
24
|
-
s.add_runtime_dependency 'git', '~> 1.3', '>= 1.3.0'
|
25
|
-
s.add_runtime_dependency 'ripl', '~> 0.7.0'
|
26
|
-
s.add_runtime_dependency 'net-ping', '~> 1.7'
|
27
|
-
s.add_runtime_dependency 'wannabe_bool', '~> 1.7'
|
28
|
-
s.add_runtime_dependency 'slack-notifier'
|
29
|
-
s.add_runtime_dependency 'require_all'
|
30
|
-
s.add_runtime_dependency 'terminal-table'
|
31
|
-
|
32
|
-
|
33
|
-
# Dev dependencies
|
34
|
-
s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
|
35
|
-
s.add_development_dependency 'rspec', '~> 3.5.0', '>= 3.5.0'
|
36
|
-
s.add_development_dependency 'launchy', '~> 2.4', '>= 2.4.0'
|
37
|
-
s.add_development_dependency 'simplecov', '~> 0.13.0'
|
38
|
-
s.add_development_dependency 'simplecov-html', '~> 0.10.0'
|
39
|
-
s.add_development_dependency 'rdoc', '~> 5.1', '>= 5.1.0'
|
40
|
-
end
|
data/notes.md
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
class roles:
|
2
|
-
Brewer:
|
3
|
-
- Directly control each component of the physical brew rig
|
4
|
-
|
5
|
-
Procedures:
|
6
|
-
- compile brewer methods into scripted procedures
|
7
|
-
|
8
|
-
Helpers:
|
9
|
-
- assorted methods, helpers module
|
10
|
-
|
11
|
-
Adaptibrew:
|
12
|
-
- Clone and maintain the adaptibrew directory
|
13
|
-
|
14
|
-
Communicator:
|
15
|
-
- Communicates the status of the brew rig
|
16
|
-
- Communicates actions the brew rig is doing/actions that the brewer class does
|