brewer 0.0.35 → 0.0.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dba42388e9cde1951f0aee2331d56819066ddfc4
4
- data.tar.gz: 6fcc954e96e5d088bde6b5c0d2e4335f9fa462fb
3
+ metadata.gz: 474507e087d88731a877daa06e890baa8de3e37e
4
+ data.tar.gz: bcda555228e41e51cbb402dc6070541bc3a0fe01
5
5
  SHA512:
6
- metadata.gz: 4536271207a7148c0fc31327667ca973a40215dc31af60edfae14ce317053a4dee54371ec3d2fa9029a49c432a745a3d1c0acddd69179c27915989700e81c57d
7
- data.tar.gz: 0e091c97f29f470e951c27785855c824bec8790a1ddb376d0ab02f0caa9d2dc3ce77b7d882e58259814ced70cc0093fc7dd2d65fc47793213ce823be2affede0
6
+ metadata.gz: 86e867848234558cc776dcc37b1b58853ad13f6a0e2da444ac45cebab093ad074600e3bdae331da48c952c311ca2a6544be6d3bdcca967dba9f84f121d602011
7
+ data.tar.gz: df2d471161415bc0b6b8ba97accc32ba6dbb85e47643b73f5b0a013d1d646e865d7f6c36c1714f692aec1ef604fcc284b3e325f0fbf2a213a7d6b45552652d16
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- brewer (0.0.30)
4
+ brewer (0.0.35)
5
5
  git (~> 1.3, >= 1.3.0)
6
6
  net-ping (~> 1.7)
7
7
  ripl (~> 0.7.0)
8
+ slack-notifier
8
9
 
9
10
  GEM
10
11
  remote: https://rubygems.org/
@@ -42,6 +43,7 @@ GEM
42
43
  json (>= 1.8, < 3)
43
44
  simplecov-html (~> 0.10.0)
44
45
  simplecov-html (0.10.0)
46
+ slack-notifier (2.1.0)
45
47
 
46
48
  PLATFORMS
47
49
  ruby
@@ -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.35"
5
+ s.version = "0.0.39"
6
6
  s.default_executable = "brewer"
7
7
 
8
8
  s.authors = ["Luke Sweeney"]
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency 'git', '~> 1.3', '>= 1.3.0'
25
25
  s.add_runtime_dependency 'ripl', '~> 0.7.0'
26
26
  s.add_runtime_dependency 'net-ping', '~> 1.7'
27
-
27
+ s.add_runtime_dependency 'slack-notifier'
28
28
 
29
29
  # Dev dependencies
30
30
  s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
@@ -11,7 +11,7 @@ class Adaptibrew
11
11
  def clone(path=nil)
12
12
  raise "🛑 Cannot clone, no network connection" unless network?
13
13
  if !Dir.exists?('adaptibrew')
14
- Git.clone('https://github.com/adaptiman/adaptibrew.git', 'adaptibrew', :path => path)
14
+ Git.clone('https://github.com/llamicron/adaptibrew.git', 'adaptibrew', :path => path)
15
15
  end
16
16
  self
17
17
  end
@@ -1,5 +1,6 @@
1
1
  require_relative 'helpers'
2
2
  require_relative 'adaptibrew'
3
+ require_relative 'slacker'
3
4
 
4
5
  include Helpers
5
6
 
@@ -24,6 +25,15 @@ class Brewer
24
25
  self
25
26
  end
26
27
 
28
+ # Sends a slack message in #brewing
29
+ def ping(message="ping at #{Time.now}")
30
+ $slack.ping(message)
31
+ end
32
+
33
+ def say(message="done")
34
+ system("say #{message}")
35
+ end
36
+
27
37
  # Runs an adaptibrew script
28
38
  # Output will be stored in @out
29
39
  def script(script, params=nil)
@@ -42,11 +52,70 @@ class Brewer
42
52
 
43
53
  # Adaptibrew methods
44
54
 
45
- def set_pump(state="off")
46
- script("set_pump_#{state}")
55
+ def pump(state=0)
56
+ if state == 1
57
+ state_string = "on"
58
+ else
59
+ state_string = "off"
60
+ end
61
+ script("set_pump_#{state_string}")
62
+ self
47
63
  end
48
64
 
49
- def set_relay(relay, state)
65
+ def relay(relay, state)
50
66
  script("set_relay", "#{relay} #{state}")
67
+ self
68
+ end
69
+
70
+ def pid(state=0)
71
+ if state == 1
72
+ state_string = "on"
73
+ else
74
+ state_string = "off"
75
+ end
76
+ script("set_pid_#{state_string}")
77
+ self
78
+ end
79
+
80
+ def all_relays_status
81
+ script("get_relay_status_test")
82
+ puts @out.first.split('\n')
83
+ end
84
+
85
+ def relay_status(relay)
86
+ script("get_relay_status", "#{relay}")
87
+ puts @out.first
51
88
  end
89
+
90
+ # Procedures
91
+
92
+ def boot
93
+ pid(0)
94
+ pump(0)
95
+ relay(2, 1)
96
+ all_relays_status
97
+ relay_status(2)
98
+ end
99
+
100
+ def heat_strike_water
101
+ print "Is the strike water in the mash tun? "
102
+ confirm ? nil : abort
103
+
104
+ print "Is the return manifold in the mash tun? "
105
+ confirm ? nil : abort
106
+
107
+ relay(2, 1)
108
+ puts "RIMS relay is on"
109
+
110
+ pump(1)
111
+ puts "Pump is on"
112
+
113
+ brewer.wait(30)
114
+ puts "Waiting for 30 seconds"
115
+
116
+ print "Is the strike water circulating well? "
117
+ confirm ? nil : abort
118
+
119
+ end
120
+
52
121
  end
@@ -0,0 +1,16 @@
1
+ require 'slack-notifier'
2
+ require 'yaml'
3
+ require 'yaml/store'
4
+
5
+ if !File.file?('slack.yml')
6
+ store = YAML::Store.new 'slack.yml'
7
+
8
+ print "Enter your Slack webhook url: "
9
+ webhook_url = gets.chomp
10
+
11
+ store.transaction do
12
+ store['webhook_url'] = webhook_url
13
+ end
14
+ end
15
+
16
+ $slack = Slack::Notifier.new YAML.load(File.open('slack.yml'))['webhook_url']
@@ -0,0 +1,2 @@
1
+ ---
2
+ webhook_url: https://hooks.slack.com/services/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
@@ -12,7 +12,9 @@ describe Brewer do
12
12
 
13
13
  after :all do
14
14
  # in case something goes wrong, everything needs to be reset
15
- @brewer.turnPumpOff
15
+ @brewer = Brewer.new
16
+ @brewer.pump(0)
17
+ @brewer.pid(0)
16
18
  end
17
19
 
18
20
  describe "#new" do
@@ -55,31 +57,45 @@ describe Brewer do
55
57
  end
56
58
  end
57
59
 
58
- describe "set_pump" do
60
+ describe ".pump" do
59
61
  # If the pump is already on it does nothing
60
62
  it "turns the pump on" do
61
- @brewer.set_pump('on')
63
+ @brewer.pump(1)
62
64
  @brewer.wait(2)
63
65
  expect(@brewer.out.include?("pump on")).to be true
64
66
  end
65
67
 
66
68
  # If the pump is already off it does nothing
67
69
  it "turns the pump off" do
68
- @brewer.set_pump('off')
70
+ @brewer.pump(0)
69
71
  expect(@brewer.out.include?("pump off")).to be true
70
72
  end
71
73
  end
72
74
 
73
- describe "set_relay" do
75
+ describe ".relay" do
74
76
  it "turns the relay on" do
75
- @brewer.set_relay(2, 1)
77
+ @brewer.relay(2, 1)
78
+ @brewer.wait(7)
76
79
  expect(@brewer.out.include?("relay 2 on"))
77
80
  end
78
81
 
79
82
  it "turns the relay off" do
80
- @brewer.set_relay(2, 0)
83
+ @brewer.relay(2, 0)
84
+ @brewer.wait(7)
81
85
  expect(@brewer.out.include?("relay 2 off"))
82
86
  end
83
87
  end
84
88
 
89
+ describe ".pid" do
90
+ it "turns the pid on" do
91
+ @brewer.pid(1)
92
+ expect(@brewer.out.include?("PID on")).to be true
93
+ end
94
+
95
+ it "turns the pid off" do
96
+ @brewer.pid(0)
97
+ expect(@brewer.out.include?("PID off")).to be true
98
+ end
99
+ end
100
+
85
101
  end
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.35
4
+ version: 0.0.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Sweeney
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '1.7'
61
+ - !ruby/object:Gem::Dependency
62
+ name: slack-notifier
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: rake
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -182,6 +196,8 @@ files:
182
196
  - lib/adaptibrew.rb
183
197
  - lib/brewer.rb
184
198
  - lib/helpers.rb
199
+ - lib/slacker.rb
200
+ - slack.yml
185
201
  - spec/adaptibrew_spec.rb
186
202
  - spec/brewer_spec.rb
187
203
  - spec/helpers_spec.rb