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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f29c295815d82e703dfdb7783c660a1e08af700
4
- data.tar.gz: 2433eee7cfd944fa36ba122789bae154195852c9
3
+ metadata.gz: b5572b66bef3ac9b8ffbb2206436e7f913169ac1
4
+ data.tar.gz: 0dc67374ebdbea8ad2b074680062ba9e9ed47cd2
5
5
  SHA512:
6
- metadata.gz: 529d6b37c55830843b8937ced832f9429a54fbfcc0385bfcdf38e5dc8e3aee37755e42569a6fda13bb6844fb861ad2e34902a323dd8616fe39896a7880c2d6d1
7
- data.tar.gz: a713b0a35fbaebea80a9cf34e19f434af271b4a0ca007fe3b82750b7ff8de33fda871927ec5e7953c26e0336bca4567b0c4fa9693361c89d9d1a977632a36d83
6
+ metadata.gz: 7023e44fdaf9dae731af5be51870d49895e8bb0d1a63722d7569a7e4ccc88d2a710be613150d3acb324578ec2012238b6a335062241d07a73e7999f9347f5c7d
7
+ data.tar.gz: a2fefa86d4c98b5c859a4a8faaa2934dd3eb196a1ba1658d1ae2acb94f76ee403c52d67ea0366f3dcde49f42c7db7db5ac47a6ba934b1dc09cd50776b335742d
@@ -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.53"
5
+ s.version = "0.0.60"
6
6
  s.default_executable = "brewer"
7
7
 
8
8
  s.authors = ["Luke Sweeney"]
@@ -7,6 +7,8 @@ include Helpers
7
7
  # This is the 'manager' for the adaptibrew repo. It handles cloning and such.
8
8
  class Adaptibrew
9
9
 
10
+ attr_accessor :install_dir
11
+
10
12
  def initialize
11
13
  @install_dir = Dir.home + "/.brewer/"
12
14
  end
@@ -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
@@ -3,10 +3,15 @@ require 'adaptibrew'
3
3
 
4
4
  adaptibrew = Adaptibrew.new
5
5
 
6
- if !adaptibrew.present?
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|
@@ -11,7 +11,7 @@ describe Adaptibrew do
11
11
  end
12
12
 
13
13
  describe ".clear" do
14
- context "when the repo already exists" do
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 repo is present" do
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 is not present" do
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 }
@@ -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
- expect(@brewer.out.include?("pump off")).to be true
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
- expect(@brewer.out.include?("PID on")).to be true
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
- expect(@brewer.out.include?("PID off")).to be true
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
@@ -8,3 +8,4 @@ SimpleCov.start
8
8
  require_relative '../lib/adaptibrew.rb'
9
9
  require_relative '../lib/brewer.rb'
10
10
  require_relative '../lib/helpers.rb'
11
+ require_relative '../lib/settings.rb'
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.53
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