traffic_light_pi_server 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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