extreme_feedback_device 0.0.1 → 0.0.2
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/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`.
|