brewer 0.0.35 → 0.0.39

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: 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