subduino 0.1.0

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.
Files changed (196) hide show
  1. data/.document +5 -0
  2. data/.gitignore +26 -0
  3. data/Rakefile +76 -0
  4. data/Readme.textile +46 -0
  5. data/VERSION +1 -0
  6. data/bin/subduino +34 -0
  7. data/bin/subduino-cli +65 -0
  8. data/duino/.gitignore +2 -0
  9. data/duino/Makefile +401 -0
  10. data/duino/duino.pde +17 -0
  11. data/duino/duino.rb +16 -0
  12. data/duino/methods.pde +5 -0
  13. data/lib/subduino/ard_io.rb +60 -0
  14. data/lib/subduino/ard_ps.rb +38 -0
  15. data/lib/subduino/arduino.rb +30 -0
  16. data/lib/subduino/parse.rb +61 -0
  17. data/lib/subduino/scaffold/Makefile +401 -0
  18. data/lib/subduino/scaffold/Makefile2 +247 -0
  19. data/lib/subduino/scaffold/generator.rb +29 -0
  20. data/lib/subduino/scaffold/scaffold.pde +17 -0
  21. data/lib/subduino/scaffold/scaffold.rb +16 -0
  22. data/lib/subduino/store.rb +65 -0
  23. data/lib/subduino.rb +48 -0
  24. data/node/arduinode.js +68 -0
  25. data/node/server.js +45 -0
  26. data/node/vendor/faye.js +1925 -0
  27. data/spec/spec_helper.rb +10 -0
  28. data/spec/subduino/ard_io_spec.rb +9 -0
  29. data/spec/subduino/parse_spec.rb +21 -0
  30. data/spec/subduino/store_spec.rb +17 -0
  31. data/spec/subduino_spec.rb +20 -0
  32. data/subduino.gemspec +239 -0
  33. data/webapp/Gemfile +8 -0
  34. data/webapp/Gemfile.lock +14 -0
  35. data/webapp/Rakefile +49 -0
  36. data/webapp/Readme.textile +45 -0
  37. data/webapp/VERSION +1 -0
  38. data/webapp/lib/app.rb +103 -0
  39. data/webapp/lib/duino.rb +213 -0
  40. data/webapp/lib/environment.rb +36 -0
  41. data/webapp/lib/messenger.rb +16 -0
  42. data/webapp/public/app.css +119 -0
  43. data/webapp/public/app.js +34 -0
  44. data/webapp/public/faye.js +1 -0
  45. data/webapp/public/icons/alarm-clock-blue.png +0 -0
  46. data/webapp/public/icons/alarm-clock.png +0 -0
  47. data/webapp/public/icons/balloon-left.png +0 -0
  48. data/webapp/public/icons/bandaid.png +0 -0
  49. data/webapp/public/icons/bell-disable.png +0 -0
  50. data/webapp/public/icons/bell.png +0 -0
  51. data/webapp/public/icons/big_icon.png +0 -0
  52. data/webapp/public/icons/bomb.png +0 -0
  53. data/webapp/public/icons/bookmark.png +0 -0
  54. data/webapp/public/icons/box-label.png +0 -0
  55. data/webapp/public/icons/brightness-control-up.png +0 -0
  56. data/webapp/public/icons/brightness-control.png +0 -0
  57. data/webapp/public/icons/brightness-small.png +0 -0
  58. data/webapp/public/icons/broom.png +0 -0
  59. data/webapp/public/icons/bug.png +0 -0
  60. data/webapp/public/icons/calculator.png +0 -0
  61. data/webapp/public/icons/calendar-day.png +0 -0
  62. data/webapp/public/icons/camera.png +0 -0
  63. data/webapp/public/icons/cards-address.png +0 -0
  64. data/webapp/public/icons/chart.png +0 -0
  65. data/webapp/public/icons/clock-select.png +0 -0
  66. data/webapp/public/icons/color.png +0 -0
  67. data/webapp/public/icons/compass.png +0 -0
  68. data/webapp/public/icons/control-power-small.png +0 -0
  69. data/webapp/public/icons/control-power.png +0 -0
  70. data/webapp/public/icons/control-record-small.png +0 -0
  71. data/webapp/public/icons/cpus.png +0 -0
  72. data/webapp/public/icons/credit-card.png +0 -0
  73. data/webapp/public/icons/cross-small.png +0 -0
  74. data/webapp/public/icons/dashboard.png +0 -0
  75. data/webapp/public/icons/database.png +0 -0
  76. data/webapp/public/icons/databases.png +0 -0
  77. data/webapp/public/icons/door-open-in.png +0 -0
  78. data/webapp/public/icons/door-open-out.png +0 -0
  79. data/webapp/public/icons/door-open.png +0 -0
  80. data/webapp/public/icons/door.png +0 -0
  81. data/webapp/public/icons/drive-globe.png +0 -0
  82. data/webapp/public/icons/equalizer.png +0 -0
  83. data/webapp/public/icons/exclamation-diamond.png +0 -0
  84. data/webapp/public/icons/exclamation.png +0 -0
  85. data/webapp/public/icons/eye-disable.png +0 -0
  86. data/webapp/public/icons/eye.png +0 -0
  87. data/webapp/public/icons/false.png +0 -0
  88. data/webapp/public/icons/gear-small.png +0 -0
  89. data/webapp/public/icons/gear.png +0 -0
  90. data/webapp/public/icons/groups.png +0 -0
  91. data/webapp/public/icons/heart.png +0 -0
  92. data/webapp/public/icons/heart_empty.png +0 -0
  93. data/webapp/public/icons/info.png +0 -0
  94. data/webapp/public/icons/key.png +0 -0
  95. data/webapp/public/icons/lightbulb.png +0 -0
  96. data/webapp/public/icons/lightbulb_off.png +0 -0
  97. data/webapp/public/icons/lightning-disable.png +0 -0
  98. data/webapp/public/icons/lightning-small.png +0 -0
  99. data/webapp/public/icons/lightning.png +0 -0
  100. data/webapp/public/icons/lock-unlock.png +0 -0
  101. data/webapp/public/icons/lock.png +0 -0
  102. data/webapp/public/icons/marker.png +0 -0
  103. data/webapp/public/icons/media-player-phone.png +0 -0
  104. data/webapp/public/icons/megaphone.png +0 -0
  105. data/webapp/public/icons/mem.png +0 -0
  106. data/webapp/public/icons/microphone.png +0 -0
  107. data/webapp/public/icons/monitor.png +0 -0
  108. data/webapp/public/icons/navigation.png +0 -0
  109. data/webapp/public/icons/off.png +0 -0
  110. data/webapp/public/icons/on.png +0 -0
  111. data/webapp/public/icons/pin.png +0 -0
  112. data/webapp/public/icons/plug--exclamation.png +0 -0
  113. data/webapp/public/icons/plug-disable.png +0 -0
  114. data/webapp/public/icons/plug.png +0 -0
  115. data/webapp/public/icons/restart.png +0 -0
  116. data/webapp/public/icons/ruby.png +0 -0
  117. data/webapp/public/icons/server.png +0 -0
  118. data/webapp/public/icons/shield-disable.png +0 -0
  119. data/webapp/public/icons/shield.png +0 -0
  120. data/webapp/public/icons/socket--exclamation.png +0 -0
  121. data/webapp/public/icons/socket-disable.png +0 -0
  122. data/webapp/public/icons/socket.png +0 -0
  123. data/webapp/public/icons/start.png +0 -0
  124. data/webapp/public/icons/stop.png +0 -0
  125. data/webapp/public/icons/switch--exclamation.png +0 -0
  126. data/webapp/public/icons/switch-disable.png +0 -0
  127. data/webapp/public/icons/switch-small.png +0 -0
  128. data/webapp/public/icons/switch.png +0 -0
  129. data/webapp/public/icons/target.png +0 -0
  130. data/webapp/public/icons/television-off.png +0 -0
  131. data/webapp/public/icons/television.png +0 -0
  132. data/webapp/public/icons/terminal.png +0 -0
  133. data/webapp/public/icons/tick-small.png +0 -0
  134. data/webapp/public/icons/traffic-light-off.png +0 -0
  135. data/webapp/public/icons/traffic-light.png +0 -0
  136. data/webapp/public/icons/traffic.png +0 -0
  137. data/webapp/public/icons/true.png +0 -0
  138. data/webapp/public/icons/umbrella.png +0 -0
  139. data/webapp/public/icons/unmonitor.png +0 -0
  140. data/webapp/public/icons/unmonitored.png +0 -0
  141. data/webapp/public/icons/users.png +0 -0
  142. data/webapp/public/icons/vcard.png +0 -0
  143. data/webapp/public/icons/wall.png +0 -0
  144. data/webapp/public/icons/wall_brick.png +0 -0
  145. data/webapp/public/icons/wall_disable.png +0 -0
  146. data/webapp/public/icons/wand-disable.png +0 -0
  147. data/webapp/public/icons/wand.png +0 -0
  148. data/webapp/public/icons/warn.png +0 -0
  149. data/webapp/public/icons/weather_clouds.png +0 -0
  150. data/webapp/public/icons/weather_cloudy.png +0 -0
  151. data/webapp/public/icons/weather_lightning.png +0 -0
  152. data/webapp/public/icons/weather_rain.png +0 -0
  153. data/webapp/public/icons/weather_snow.png +0 -0
  154. data/webapp/public/icons/weather_sun.png +0 -0
  155. data/webapp/public/icons/wrench-screwdriver.png +0 -0
  156. data/webapp/public/icons/wrench.png +0 -0
  157. data/webapp/public/iui/backButton.png +0 -0
  158. data/webapp/public/iui/blueButton.png +0 -0
  159. data/webapp/public/iui/cancel.png +0 -0
  160. data/webapp/public/iui/grayButton.png +0 -0
  161. data/webapp/public/iui/greenButton.png +0 -0
  162. data/webapp/public/iui/iui-logo-touch-icon.png +0 -0
  163. data/webapp/public/iui/iui.css +396 -0
  164. data/webapp/public/iui/iui.js +511 -0
  165. data/webapp/public/iui/iuix.css +1 -0
  166. data/webapp/public/iui/iuix.js +1 -0
  167. data/webapp/public/iui/listArrow.png +0 -0
  168. data/webapp/public/iui/listArrowSel.png +0 -0
  169. data/webapp/public/iui/listGroup.png +0 -0
  170. data/webapp/public/iui/loading.gif +0 -0
  171. data/webapp/public/iui/pinstripes.png +0 -0
  172. data/webapp/public/iui/redButton.png +0 -0
  173. data/webapp/public/iui/selection.png +0 -0
  174. data/webapp/public/iui/thumb.png +0 -0
  175. data/webapp/public/iui/toggle.png +0 -0
  176. data/webapp/public/iui/toggleOn.png +0 -0
  177. data/webapp/public/iui/toolButton.png +0 -0
  178. data/webapp/public/iui/toolbar.png +0 -0
  179. data/webapp/public/iui/whiteButton.png +0 -0
  180. data/webapp/public/iui/yellowButton.png +0 -0
  181. data/webapp/public/jquery.js +154 -0
  182. data/webapp/public/layout.css +33 -0
  183. data/webapp/public/right.js +9 -0
  184. data/webapp/public/rt.js +7 -0
  185. data/webapp/public/sparkline.js +85 -0
  186. data/webapp/spec/duino_spec.rb +8 -0
  187. data/webapp/spec/spec_helper.rb +10 -0
  188. data/webapp/views/command.haml +4 -0
  189. data/webapp/views/icon.haml +6 -0
  190. data/webapp/views/index.haml +51 -0
  191. data/webapp/views/layout.haml +17 -0
  192. data/webapp/views/mobile.haml +21 -0
  193. data/webapp/views/switch.haml +56 -0
  194. data/webapp/views/top.haml +4 -0
  195. data/webapp/views/watch.haml +26 -0
  196. metadata +277 -0
@@ -0,0 +1,8 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+
4
+ describe "Duino" do
5
+
6
+
7
+ end
8
+
@@ -0,0 +1,10 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'rubygems'
4
+ require 'duino'
5
+ require 'spec'
6
+ require 'spec/autorun'
7
+
8
+ Spec::Runner.configure do |config|
9
+
10
+ end
@@ -0,0 +1,4 @@
1
+ .panel{:id => "#{@command}ing_#{@watch}", :title => @title}
2
+ %h2= @success ? 'Success' : 'Failed'
3
+ %fieldset
4
+ %div{:align => "left"}= @log
@@ -0,0 +1,6 @@
1
+ .panel{:title => "Home Icon"}
2
+ %div{:align => "center"}
3
+ %p Scroll down to get a good shot!
4
+ .home_icon_div
5
+ .home_icon_txt= @text
6
+ .home_icon_info ATmel328
@@ -0,0 +1,51 @@
1
+
2
+
3
+ %ul#home{:selected => "true", :title => @title}
4
+ - unless true # @sensors.empty?
5
+ %li.group Sensors
6
+ - @sensors.each do |name, sensor|
7
+ %li{:id => name}
8
+ %a{:href => "/g/#{name}"}
9
+ - if sensor.digital?
10
+ %img{:src => "icons/#{sensor.parse}.png"}/
11
+ = name
12
+ %span.tiny.gray= sensor
13
+ - else
14
+ %img{:src => "icons/groups.png"}/
15
+ = sensor
16
+ %span.tiny.gray= name.to_s.capitalize
17
+ %span.pico.gray (#{sensor.raw}~)
18
+ - @watches.each do |state, watches|
19
+ %li.group= state.capitalize
20
+ - for watch in watches.sort
21
+ %li{:id => watch}
22
+ %a{:href => "/w/#{watch}"}
23
+ %img{:src => "icons/#{@statuses[watch][:state]}.png"}/
24
+ = watch
25
+ %li.group Control
26
+ %li#god_opts
27
+ %a{:href => "/o"}
28
+ %img{:src => "icons/start.png"}/
29
+ Power
30
+ %li#god_opts
31
+ %a{:href => "/o"}
32
+ %img{:src => "icons/dashboard.png"}/
33
+ Sensors
34
+ %li#top_show
35
+ %a{:href => "/t"}
36
+ %img{:src => "icons/terminal.png"}/
37
+ Top
38
+ %li#home_icon
39
+ %a{:href => "/i"}
40
+ %img{:src => "icons/bookmark.png"}/
41
+ Icon
42
+ %li.group About
43
+ - for stat in @stats
44
+ %li.tiny
45
+ %img{:src => "icons/#{stat[0]}.png"}/
46
+ = stat[1]
47
+ %li.tiny
48
+ %img{:src => "icons/ruby.png"}/
49
+ = @footer
50
+ [ok]
51
+ #stats
@@ -0,0 +1,17 @@
1
+ !!! Transitional
2
+ %head
3
+ %title= @title
4
+ %meta{ :content => "text/html;charset=UTF-8", "http-equiv" => "content-type" }/
5
+ %style{:media => "screen", :type => "text/css"} @import "/iui/iuix.css";
6
+ %style{:media => "screen", :type => "text/css"} @import "/app.css";
7
+ %style{:media => "screen", :type => "text/css"} @import "/layout.css";
8
+ /%script{:src => "/app.js", :type => "application/x-javascript"}
9
+ %script{:src => "/jquery.js", :type => "application/x-javascript"}
10
+ %script{:src => "/sparkline.js", :type => "application/x-javascript"}
11
+ %script{:src => "/faye.js", :type => "application/x-javascript"}
12
+
13
+ %body
14
+ .toolbar
15
+ %h1#pageTitle= @title
16
+ = yield
17
+ %script{:src => "/rt.js", :type => "application/x-javascript"}
@@ -0,0 +1,21 @@
1
+ !!! Transitional
2
+ %head
3
+ %title= @title
4
+ %meta{ :content => "text/html;charset=UTF-8", "http-equiv" => "content-type" }/
5
+ %meta{:content => "width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;", :name => "viewport"}/
6
+ %style{:media => "screen", :type => "text/css"} @import "/iui/iuix.css";
7
+ %style{:media => "screen", :type => "text/css"} @import "/app.css";
8
+ %script{:src => "/app.js", :type => "application/x-javascript"}
9
+ %script{:src => "/jquery.js", :type => "application/x-javascript"}
10
+ %script{:src => "/sparklines.js", :type => "application/x-javascript"}
11
+ %script{:src => "/iui/iui.js", :type => "application/x-javascript"}
12
+ :javascript
13
+ iui.animOn = true;
14
+
15
+ %body
16
+ .toolbar
17
+ %h1#pageTitle= @title
18
+ %a#backButton.button{:href => "#"}
19
+ %a.button{:href => "/", :target => "_self"} Refresh
20
+
21
+ = yield
@@ -0,0 +1,56 @@
1
+ .panel{:id => "#{@watch}_commands", :title => @title}
2
+ - if @status
3
+ %h2 Status
4
+ %fieldset
5
+ %div{:align => "center"}
6
+ %p
7
+ %b= @status.to_s.capitalize
8
+ [#{Time.now.strftime("%H:%m %m/%d")}]
9
+ - if @log
10
+ %h2 Log
11
+ %fieldset
12
+ %div{:align => "left"}= @log
13
+ - if @child
14
+ %h2 Watches
15
+ %fieldset
16
+ %ul
17
+ - for child in @child
18
+ %li{:id => child[0]}
19
+ %a{:href => "/w/#{child[0]}"}
20
+ %img{:src => "icons/#{child[1]}.png"}/
21
+ = child[0]
22
+ %h2 Commands
23
+ - unless @commands.empty?
24
+ %fieldset
25
+ - ["power", "monitor"].each_with_index do |comm, i|
26
+ //%h1= comm
27
+ .row{:onclick => "submitCommand('start', '#{@watch}')"}
28
+ %label= comm.capitalize
29
+ .toggle{:id => "toggle_#{comm}", :onclick => "submitCommand('#{comm}', '#{@watch}')", :toggled => @commands[i]}
30
+ %span.thumb
31
+ %span.toggleOn ON
32
+ %span.toggleOff OFF
33
+ - ["power", "monitor"].each_with_index do |comm, i|
34
+ //%h1= comm
35
+ .row
36
+ %label= comm.capitalize
37
+ %input.button{:type => "submit", :name => comm, :value => comm, :onclick => "sComm('#{comm}', 'start');" }
38
+ .row
39
+ %label= comm.capitalize
40
+ %input.button{:type => "submit", :name => comm, :value => comm, :onclick => "sComm('#{comm}', 'stop');" }
41
+ - else
42
+ %a.greenButton{:onclick => "submitCommand('start', '#{@watch}')"}
43
+ Start #{" All" if @child}
44
+ %a.yellowButton{:onclick => "submitCommand('stop', '#{@watch}')"}
45
+ Stop #{" All" if @child}
46
+ %a.greenButton{:onclick => "submitCommand('door', '#{@watch}')"}
47
+ Door #{" All" if @child}
48
+ %a.redButton{:onclick => "submitCommand('restart', '#{@watch}')"}
49
+ Restart #{" All" if @child}
50
+ #results
51
+
52
+ :javascript
53
+ $('.panel').toggle();
54
+ function sComm(url, comm) {
55
+ $.get("/w/" + url + "/" + comm);
56
+ };
@@ -0,0 +1,4 @@
1
+ .panel{:title => "Top"}
2
+ .code
3
+ = @text.gsub("\n", "<br/>")
4
+ %h2 TIP: Use two fingers to scroll Y
@@ -0,0 +1,26 @@
1
+ .panel{:id => "#{@watch}_sensors", :title => @title}
2
+ - if @sensor
3
+ %h2= @name
4
+ %fieldset
5
+ %div{:align => "center"}
6
+ %p
7
+ %b=# @status.to_s.capitalize
8
+ [#{Time.now.strftime("%H:%m %m/%d")}]
9
+ #logspark= @log.join(",")
10
+ - if @log
11
+ %h2 Log
12
+ %fieldset
13
+ %div{:align => "left"}= @log
14
+ - if @child
15
+ %h2 Watches
16
+ %fieldset
17
+ %ul
18
+ - for child in @child
19
+ %li{:id => child[0]}
20
+ %a{:href => "/w/#{child[0]}"}
21
+ %img{:src => "icons/#{child[1]}.png"}/
22
+ = child[0]
23
+
24
+ :javascript
25
+ $('.panel').toggle();
26
+ $('#logspark').sparkline('html', { lineColor: 'green', fillColor: '#aaffaa', width:'100%', height:'80px' });
metadata ADDED
@@ -0,0 +1,277 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: subduino
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 0
9
+ version: 0.1.0
10
+ platform: ruby
11
+ authors:
12
+ - Marcos Piccinini
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-09-11 00:00:00 -03:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rspec
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 2
31
+ - 9
32
+ version: 1.2.9
33
+ type: :development
34
+ version_requirements: *id001
35
+ description: Interface, compile, upload, play with arduino/ruby
36
+ email: x@nofxx.com
37
+ executables:
38
+ - subduino-cli
39
+ - subduino
40
+ extensions: []
41
+
42
+ extra_rdoc_files: []
43
+
44
+ files:
45
+ - .document
46
+ - .gitignore
47
+ - Rakefile
48
+ - Readme.textile
49
+ - VERSION
50
+ - bin/subduino
51
+ - bin/subduino-cli
52
+ - duino/.gitignore
53
+ - duino/Makefile
54
+ - duino/duino.pde
55
+ - duino/duino.rb
56
+ - duino/methods.pde
57
+ - lib/subduino.rb
58
+ - lib/subduino/ard_io.rb
59
+ - lib/subduino/ard_ps.rb
60
+ - lib/subduino/arduino.rb
61
+ - lib/subduino/parse.rb
62
+ - lib/subduino/scaffold/Makefile
63
+ - lib/subduino/scaffold/Makefile2
64
+ - lib/subduino/scaffold/generator.rb
65
+ - lib/subduino/scaffold/scaffold.pde
66
+ - lib/subduino/scaffold/scaffold.rb
67
+ - lib/subduino/store.rb
68
+ - node/arduinode.js
69
+ - node/server.js
70
+ - node/vendor/faye.js
71
+ - spec/spec_helper.rb
72
+ - spec/subduino/ard_io_spec.rb
73
+ - spec/subduino/parse_spec.rb
74
+ - spec/subduino/store_spec.rb
75
+ - spec/subduino_spec.rb
76
+ - subduino.gemspec
77
+ - webapp/Gemfile
78
+ - webapp/Gemfile.lock
79
+ - webapp/Rakefile
80
+ - webapp/Readme.textile
81
+ - webapp/VERSION
82
+ - webapp/lib/app.rb
83
+ - webapp/lib/duino.rb
84
+ - webapp/lib/environment.rb
85
+ - webapp/lib/messenger.rb
86
+ - webapp/public/app.css
87
+ - webapp/public/app.js
88
+ - webapp/public/faye.js
89
+ - webapp/public/icons/alarm-clock-blue.png
90
+ - webapp/public/icons/alarm-clock.png
91
+ - webapp/public/icons/balloon-left.png
92
+ - webapp/public/icons/bandaid.png
93
+ - webapp/public/icons/bell-disable.png
94
+ - webapp/public/icons/bell.png
95
+ - webapp/public/icons/big_icon.png
96
+ - webapp/public/icons/bomb.png
97
+ - webapp/public/icons/bookmark.png
98
+ - webapp/public/icons/box-label.png
99
+ - webapp/public/icons/brightness-control-up.png
100
+ - webapp/public/icons/brightness-control.png
101
+ - webapp/public/icons/brightness-small.png
102
+ - webapp/public/icons/broom.png
103
+ - webapp/public/icons/bug.png
104
+ - webapp/public/icons/calculator.png
105
+ - webapp/public/icons/calendar-day.png
106
+ - webapp/public/icons/camera.png
107
+ - webapp/public/icons/cards-address.png
108
+ - webapp/public/icons/chart.png
109
+ - webapp/public/icons/clock-select.png
110
+ - webapp/public/icons/color.png
111
+ - webapp/public/icons/compass.png
112
+ - webapp/public/icons/control-power-small.png
113
+ - webapp/public/icons/control-power.png
114
+ - webapp/public/icons/control-record-small.png
115
+ - webapp/public/icons/cpus.png
116
+ - webapp/public/icons/credit-card.png
117
+ - webapp/public/icons/cross-small.png
118
+ - webapp/public/icons/dashboard.png
119
+ - webapp/public/icons/database.png
120
+ - webapp/public/icons/databases.png
121
+ - webapp/public/icons/door-open-in.png
122
+ - webapp/public/icons/door-open-out.png
123
+ - webapp/public/icons/door-open.png
124
+ - webapp/public/icons/door.png
125
+ - webapp/public/icons/drive-globe.png
126
+ - webapp/public/icons/equalizer.png
127
+ - webapp/public/icons/exclamation-diamond.png
128
+ - webapp/public/icons/exclamation.png
129
+ - webapp/public/icons/eye-disable.png
130
+ - webapp/public/icons/eye.png
131
+ - webapp/public/icons/false.png
132
+ - webapp/public/icons/gear-small.png
133
+ - webapp/public/icons/gear.png
134
+ - webapp/public/icons/groups.png
135
+ - webapp/public/icons/heart.png
136
+ - webapp/public/icons/heart_empty.png
137
+ - webapp/public/icons/info.png
138
+ - webapp/public/icons/key.png
139
+ - webapp/public/icons/lightbulb.png
140
+ - webapp/public/icons/lightbulb_off.png
141
+ - webapp/public/icons/lightning-disable.png
142
+ - webapp/public/icons/lightning-small.png
143
+ - webapp/public/icons/lightning.png
144
+ - webapp/public/icons/lock-unlock.png
145
+ - webapp/public/icons/lock.png
146
+ - webapp/public/icons/marker.png
147
+ - webapp/public/icons/media-player-phone.png
148
+ - webapp/public/icons/megaphone.png
149
+ - webapp/public/icons/mem.png
150
+ - webapp/public/icons/microphone.png
151
+ - webapp/public/icons/monitor.png
152
+ - webapp/public/icons/navigation.png
153
+ - webapp/public/icons/off.png
154
+ - webapp/public/icons/on.png
155
+ - webapp/public/icons/pin.png
156
+ - webapp/public/icons/plug--exclamation.png
157
+ - webapp/public/icons/plug-disable.png
158
+ - webapp/public/icons/plug.png
159
+ - webapp/public/icons/restart.png
160
+ - webapp/public/icons/ruby.png
161
+ - webapp/public/icons/server.png
162
+ - webapp/public/icons/shield-disable.png
163
+ - webapp/public/icons/shield.png
164
+ - webapp/public/icons/socket--exclamation.png
165
+ - webapp/public/icons/socket-disable.png
166
+ - webapp/public/icons/socket.png
167
+ - webapp/public/icons/start.png
168
+ - webapp/public/icons/stop.png
169
+ - webapp/public/icons/switch--exclamation.png
170
+ - webapp/public/icons/switch-disable.png
171
+ - webapp/public/icons/switch-small.png
172
+ - webapp/public/icons/switch.png
173
+ - webapp/public/icons/target.png
174
+ - webapp/public/icons/television-off.png
175
+ - webapp/public/icons/television.png
176
+ - webapp/public/icons/terminal.png
177
+ - webapp/public/icons/tick-small.png
178
+ - webapp/public/icons/traffic-light-off.png
179
+ - webapp/public/icons/traffic-light.png
180
+ - webapp/public/icons/traffic.png
181
+ - webapp/public/icons/true.png
182
+ - webapp/public/icons/umbrella.png
183
+ - webapp/public/icons/unmonitor.png
184
+ - webapp/public/icons/unmonitored.png
185
+ - webapp/public/icons/users.png
186
+ - webapp/public/icons/vcard.png
187
+ - webapp/public/icons/wall.png
188
+ - webapp/public/icons/wall_brick.png
189
+ - webapp/public/icons/wall_disable.png
190
+ - webapp/public/icons/wand-disable.png
191
+ - webapp/public/icons/wand.png
192
+ - webapp/public/icons/warn.png
193
+ - webapp/public/icons/weather_clouds.png
194
+ - webapp/public/icons/weather_cloudy.png
195
+ - webapp/public/icons/weather_lightning.png
196
+ - webapp/public/icons/weather_rain.png
197
+ - webapp/public/icons/weather_snow.png
198
+ - webapp/public/icons/weather_sun.png
199
+ - webapp/public/icons/wrench-screwdriver.png
200
+ - webapp/public/icons/wrench.png
201
+ - webapp/public/iui/backButton.png
202
+ - webapp/public/iui/blueButton.png
203
+ - webapp/public/iui/cancel.png
204
+ - webapp/public/iui/grayButton.png
205
+ - webapp/public/iui/greenButton.png
206
+ - webapp/public/iui/iui-logo-touch-icon.png
207
+ - webapp/public/iui/iui.css
208
+ - webapp/public/iui/iui.js
209
+ - webapp/public/iui/iuix.css
210
+ - webapp/public/iui/iuix.js
211
+ - webapp/public/iui/listArrow.png
212
+ - webapp/public/iui/listArrowSel.png
213
+ - webapp/public/iui/listGroup.png
214
+ - webapp/public/iui/loading.gif
215
+ - webapp/public/iui/pinstripes.png
216
+ - webapp/public/iui/redButton.png
217
+ - webapp/public/iui/selection.png
218
+ - webapp/public/iui/thumb.png
219
+ - webapp/public/iui/toggle.png
220
+ - webapp/public/iui/toggleOn.png
221
+ - webapp/public/iui/toolButton.png
222
+ - webapp/public/iui/toolbar.png
223
+ - webapp/public/iui/whiteButton.png
224
+ - webapp/public/iui/yellowButton.png
225
+ - webapp/public/jquery.js
226
+ - webapp/public/layout.css
227
+ - webapp/public/right.js
228
+ - webapp/public/rt.js
229
+ - webapp/public/sparkline.js
230
+ - webapp/spec/duino_spec.rb
231
+ - webapp/spec/spec_helper.rb
232
+ - webapp/views/command.haml
233
+ - webapp/views/icon.haml
234
+ - webapp/views/index.haml
235
+ - webapp/views/layout.haml
236
+ - webapp/views/mobile.haml
237
+ - webapp/views/switch.haml
238
+ - webapp/views/top.haml
239
+ - webapp/views/watch.haml
240
+ has_rdoc: true
241
+ homepage: http://github.com/nofxx/subduino
242
+ licenses: []
243
+
244
+ post_install_message:
245
+ rdoc_options:
246
+ - --charset=UTF-8
247
+ require_paths:
248
+ - lib
249
+ required_ruby_version: !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ segments:
255
+ - 0
256
+ version: "0"
257
+ required_rubygems_version: !ruby/object:Gem::Requirement
258
+ none: false
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ segments:
263
+ - 0
264
+ version: "0"
265
+ requirements: []
266
+
267
+ rubyforge_project:
268
+ rubygems_version: 1.3.7
269
+ signing_key:
270
+ specification_version: 3
271
+ summary: Arduino Ruby Helpers
272
+ test_files:
273
+ - spec/subduino_spec.rb
274
+ - spec/spec_helper.rb
275
+ - spec/subduino/ard_io_spec.rb
276
+ - spec/subduino/parse_spec.rb
277
+ - spec/subduino/store_spec.rb