extreme_feedback_device 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/extreme_feedback_device.rb +8 -4
- data/lib/extreme_feedback_device/cli.rb +2 -2
- data/lib/extreme_feedback_device/settings.rb +13 -2
- data/lib/extreme_feedback_device/version.rb +1 -1
- data/spec/extreme_feedback_device.yml +1 -1
- data/spec/lib/extreme_feedback_device/cli_spec.rb +2 -2
- data/spec/lib/extreme_feedback_device_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6efa7bb15b030098c73513727368b1be45ea08e
|
4
|
+
data.tar.gz: 04a0431f7cc1185b188712688eedab8ab710d897
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2aefa8fc64a7540464aa7cae4f70a2064e4f70f42a2dc542c502a61753331082ccbbd77080e8bacba901228e8872f3ea83a6c2a8dae1e124f4b6f132755f9e67
|
7
|
+
data.tar.gz: 3bd5f4a75eeaa7031868246660aa789f5f6b1c543b95ce9c16d2002a51e6638459c66d17436d72cbe008de525399a9505502ab31036a35afabc59ca039a62d95
|
data/README.md
CHANGED
@@ -47,7 +47,7 @@ TODO: Write configuration instruction here
|
|
47
47
|
The default location for the settings file is: `$HOME/.extreme_feedback_device.yml`
|
48
48
|
|
49
49
|
* `jenkins.*`: ...
|
50
|
-
* `
|
50
|
+
* `infinite_loop.sleep`: the time _(in seconds)_ to sleep between each request.
|
51
51
|
* `pi.num_leds`: the number of LEDs on your attached Extreme Feedback Device.
|
52
52
|
* `pi.map_leds`: the mapping of LEDs _(with LED's index)_ to Jenkins Jobs _(with Job's name)_.
|
53
53
|
* `spi.devive`: the SPI Device to write on.
|
@@ -59,7 +59,7 @@ The default location for the settings file is: `$HOME/.extreme_feedback_device.y
|
|
59
59
|
user: api
|
60
60
|
token: 0123456789ABCDEF
|
61
61
|
url: http://jenkins.example.com/
|
62
|
-
|
62
|
+
infinite_loop:
|
63
63
|
sleep: 5
|
64
64
|
pi:
|
65
65
|
num_leds: 2
|
@@ -79,7 +79,7 @@ Output of `extreme_feedback_device --help`:
|
|
79
79
|
show help.
|
80
80
|
|
81
81
|
-m, --mode [run]:
|
82
|
-
set mode 'run' for a single run or 'loop' for
|
82
|
+
set mode 'run' for a single run or 'loop' for infinite loop.
|
83
83
|
|
84
84
|
-n, --namespace [default]:
|
85
85
|
settings namespace.
|
@@ -101,7 +101,7 @@ Copy the example init.d script and change it for your needs _(as root)_:
|
|
101
101
|
$ chmod u+x /etc/init.d/extreme_feedback_device
|
102
102
|
$ vim /etc/init.d/extreme_feedback_device
|
103
103
|
|
104
|
-
If you want to start the daemon
|
104
|
+
If you want to start the daemon automatically on boot _(as root)_:
|
105
105
|
|
106
106
|
$ update-rc.d extreme_feedback_device defaults
|
107
107
|
|
@@ -13,6 +13,10 @@ module ExtremeFeedbackDevice
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
def environment
|
17
|
+
ENV["EFD_ENV"] || "production"
|
18
|
+
end
|
19
|
+
|
16
20
|
def settings
|
17
21
|
@settings ||= ExtremeFeedbackDevice::Settings
|
18
22
|
end
|
@@ -58,9 +62,9 @@ module ExtremeFeedbackDevice
|
|
58
62
|
pi.write!
|
59
63
|
end
|
60
64
|
|
61
|
-
def
|
62
|
-
settings['
|
63
|
-
interval = settings.
|
65
|
+
def infinite_loop
|
66
|
+
settings['infinite_loop'] ||= {}
|
67
|
+
interval = settings.infinite_loop['sleep'] || 30
|
64
68
|
while true
|
65
69
|
run
|
66
70
|
sleep(interval)
|
@@ -74,4 +78,4 @@ require "extreme_feedback_device/jenkins"
|
|
74
78
|
require "extreme_feedback_device/job"
|
75
79
|
require "extreme_feedback_device/pi"
|
76
80
|
require "extreme_feedback_device/settings"
|
77
|
-
require "extreme_feedback_device/spi"
|
81
|
+
require "extreme_feedback_device/spi"
|
@@ -60,7 +60,7 @@ module ExtremeFeedbackDevice
|
|
60
60
|
ExtremeFeedbackDevice.run
|
61
61
|
exit 0
|
62
62
|
elsif mode =~ /^loop$/i
|
63
|
-
ExtremeFeedbackDevice.
|
63
|
+
ExtremeFeedbackDevice.infinite_loop
|
64
64
|
exit 0
|
65
65
|
else
|
66
66
|
puts_help
|
@@ -118,7 +118,7 @@ extreme_feedback_device [OPTION] ...
|
|
118
118
|
\tshow help.
|
119
119
|
|
120
120
|
-m, --mode [#{DEFAULT_MODE}]:
|
121
|
-
\tset mode 'run' for a single run or 'loop' for
|
121
|
+
\tset mode 'run' for a single run or 'loop' for infinite loop.
|
122
122
|
|
123
123
|
-n, --namespace [#{DEFAULT_NAMESPACE}]:
|
124
124
|
\tsettings namespace.
|
@@ -2,7 +2,18 @@ require 'settingslogic'
|
|
2
2
|
|
3
3
|
module ExtremeFeedbackDevice
|
4
4
|
class Settings < ::Settingslogic
|
5
|
-
|
5
|
+
def self.config_file
|
6
|
+
if ExtremeFeedbackDevice.environment == "test"
|
7
|
+
::File.join('spec', 'extreme_feedback_device.yml')
|
8
|
+
else
|
9
|
+
::File.join(::Dir.home, '.extreme_feedback_device.yml')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
if File.exists?(config_file)
|
14
|
+
source(config_file)
|
15
|
+
end
|
16
|
+
|
6
17
|
namespace('default')
|
7
18
|
end
|
8
|
-
end
|
19
|
+
end
|
@@ -11,7 +11,7 @@ describe ExtremeFeedbackDevice::CLI do
|
|
11
11
|
context ".main" do
|
12
12
|
before(:each) do
|
13
13
|
ExtremeFeedbackDevice.stub(:run)
|
14
|
-
ExtremeFeedbackDevice.stub(:
|
14
|
+
ExtremeFeedbackDevice.stub(:infinite_loop)
|
15
15
|
PidFile.stub(:new)
|
16
16
|
|
17
17
|
subject.stub(:argv).and_return([])
|
@@ -33,7 +33,7 @@ describe ExtremeFeedbackDevice::CLI do
|
|
33
33
|
|
34
34
|
it "calls ExtremeFeedbackDevice.run by default" do
|
35
35
|
ExtremeFeedbackDevice.should_receive(:run)
|
36
|
-
ExtremeFeedbackDevice.should_not_receive(:
|
36
|
+
ExtremeFeedbackDevice.should_not_receive(:infinite_loop)
|
37
37
|
subject.main
|
38
38
|
end
|
39
39
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'pry'
|
2
2
|
|
3
|
-
ENV["
|
4
|
-
ENV["EFD_NS"] ||= 'test'
|
3
|
+
ENV["EFD_ENV"] = 'test'
|
5
4
|
|
6
5
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
7
6
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|