traffic_light_pi_server 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.
data/README.md CHANGED
@@ -4,6 +4,11 @@ A traffic light serveur for Raspberry π
4
4
 
5
5
  Current build:
6
6
  [![Build Status](https://travis-ci.org/nledez/traffic_light_pi_server.png)](https://travis-ci.org/nledez/traffic_light_pi_server)
7
+ [![Coverage Status](https://coveralls.io/repos/nledez/traffic_light_pi_server/badge.png)](https://coveralls.io/r/nledez/traffic_light_pi_server)
8
+ [![Dependency Status](https://gemnasium.com/nledez/traffic_light_pi_server.png)](https://gemnasium.com/nledez/traffic_light_pi_server)
9
+ [![Code Climate](https://codeclimate.com/github/nledez/traffic_light_pi_server.png)](https://codeclimate.com/github/nledez/traffic_light_pi_server)
10
+
11
+ Yes Code Climate as a bad value, I watch this later.
7
12
 
8
13
  ## Installation
9
14
 
@@ -63,6 +63,46 @@ class TrafficLightPiServer < Sinatra::Base
63
63
  end
64
64
  end
65
65
 
66
+ # Reset all lines
67
+ get '/reset' do
68
+ @@line_map.each do |line, lights|
69
+ lights.each do |light, pin|
70
+ if light == :green
71
+ state = 1
72
+ else
73
+ state = 0
74
+ end
75
+ if @@pi_enabled
76
+ @@io.write(pin, state)
77
+ state = @@lines[line][light] = @@io.read(pin)
78
+ else
79
+ @@lines[line][light] = state
80
+ end
81
+ end
82
+ end
83
+ "Reseted"
84
+ end
85
+
86
+ # Reset one line
87
+ get '/:line/reset' do
88
+ line = params[:line].to_sym
89
+
90
+ @@line_map[line].each do |light, pin|
91
+ if light == :green
92
+ state = 1
93
+ else
94
+ state = 0
95
+ end
96
+ if @@pi_enabled
97
+ @@io.write(pin, state)
98
+ state = @@lines[line][light] = @@io.read(pin)
99
+ else
100
+ @@lines[line][light] = state
101
+ end
102
+ end
103
+ "Reseted"
104
+ end
105
+
66
106
  # Get current status for one light/color in one line
67
107
  get '/:line/:light' do
68
108
  line = params[:line].to_sym
@@ -68,6 +68,41 @@ describe "My Traffic light server" do
68
68
  last_response.body.should == "5:0"
69
69
  end
70
70
 
71
+ it "should reset lights" do
72
+ get '/front/green/0'
73
+ get '/front/red/1'
74
+ get '/left/red/1'
75
+
76
+ get '/front/reset'
77
+ get '/left/reset'
78
+
79
+ get '/front/green'
80
+ last_response.body.should == "12:1"
81
+
82
+ get '/front/red'
83
+ last_response.body.should == "14:0"
84
+
85
+ get '/left/red'
86
+ last_response.body.should == "5:0"
87
+ end
88
+
89
+ it "should reset lights" do
90
+ get '/front/green/0'
91
+ get '/front/red/1'
92
+ get '/left/red/1'
93
+
94
+ get '/reset'
95
+
96
+ get '/front/green'
97
+ last_response.body.should == "12:1"
98
+
99
+ get '/front/red'
100
+ last_response.body.should == "14:0"
101
+
102
+ get '/left/red'
103
+ last_response.body.should == "5:0"
104
+ end
105
+
71
106
  it "should play mp3" do
72
107
  get '/play/clic'
73
108
  last_response.should be_ok
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'simplecov'
2
+ SimpleCov.start 'rails'
1
3
  require File.join(File.dirname(__FILE__), '../lib', 'traffic_light_pi_server.rb')
2
4
 
3
5
  require 'rack/test'
@@ -9,6 +11,11 @@ set :run, false
9
11
  set :raise_errors, true
10
12
  set :logging, false
11
13
 
14
+ if ENV["CI"]
15
+ require 'coveralls'
16
+ Coveralls.wear!
17
+ end
18
+
12
19
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
13
20
  RSpec.configure do |config|
14
21
  config.treat_symbols_as_metadata_keys_with_true_values = true
@@ -19,5 +26,5 @@ RSpec.configure do |config|
19
26
  # order dependency and want to debug it, you can fix the order by providing
20
27
  # the seed, which is printed after each run.
21
28
  # --seed 1234
22
- #config.order = 'random'
29
+ config.order = 'random'
23
30
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "traffic_light_pi_server"
7
- spec.version = "0.0.1"
7
+ spec.version = "0.0.2"
8
8
  spec.authors = ["Nicolas Ledez"]
9
9
  spec.email = ["rubygems@ledez.net"]
10
10
  spec.description = %q{A traffic light serveur for Raspberry π}
@@ -30,6 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "guard-rspec"
31
31
  spec.add_development_dependency "guard-bundler"
32
32
 
33
+ spec.add_development_dependency "simplecov"
34
+ spec.add_development_dependency "json", '~> 1.7.7'
35
+ spec.add_development_dependency "coveralls"
36
+
33
37
  if spec.platform.to_s == 'arm-linux-eabihf'
34
38
  spec.add_development_dependency "rb-fsevent"
35
39
  spec.add_development_dependency "growl"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traffic_light_pi_server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-10 00:00:00.000000000 Z
12
+ date: 2013-05-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
@@ -155,6 +155,54 @@ dependencies:
155
155
  - - ! '>='
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: simplecov
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: json
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: 1.7.7
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 1.7.7
190
+ - !ruby/object:Gem::Dependency
191
+ name: coveralls
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
158
206
  description: A traffic light serveur for Raspberry π
159
207
  email:
160
208
  - rubygems@ledez.net