ardtweeno 0.0.2 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +179 -1
  3. data/COPYING +4 -3
  4. data/Gemfile +29 -0
  5. data/Gemfile.lock +76 -0
  6. data/INSTALL +12 -0
  7. data/Procfile +1 -0
  8. data/README.md +26 -2
  9. data/Rakefile +14 -7
  10. data/lib/ardtweeno/api.rb +542 -0
  11. data/lib/ardtweeno/configreader.rb +65 -0
  12. data/lib/ardtweeno/db.rb +51 -0
  13. data/lib/ardtweeno/dispatcher.rb +538 -0
  14. data/lib/ardtweeno/exceptions.rb +33 -0
  15. data/lib/ardtweeno/node.rb +117 -0
  16. data/lib/ardtweeno/nodemanager.rb +300 -0
  17. data/lib/ardtweeno/packet.rb +98 -0
  18. data/lib/ardtweeno/restapi.rb +266 -0
  19. data/lib/ardtweeno/serialparser.rb +221 -0
  20. data/lib/ardtweeno.rb +120 -1
  21. data/public/glossy_green_button.svg +123 -0
  22. data/public/glossy_red_button.svg +75 -0
  23. data/public/main.css +129 -0
  24. data/public/raspberrypi.jpg +0 -0
  25. data/resources/conf.yaml +41 -0
  26. data/resources/nodelist.yaml +26 -0
  27. data/resources/serialparser.js +84 -0
  28. data/test/api_test.rb +255 -0
  29. data/test/dispatcher_test.rb +115 -0
  30. data/test/node_test.rb +105 -0
  31. data/test/nodemanager_test.rb +167 -0
  32. data/test/packet_test.rb +75 -0
  33. data/test/parser_test.rb +147 -0
  34. data/test/post_watch +11 -0
  35. data/test/rest_api_test.rb +248 -0
  36. data/test/run_mock +17 -0
  37. data/test/run_packet_push +14 -0
  38. data/test/serialport_mock.rb +43 -0
  39. data/test/test_helper.rb +15 -0
  40. data/test/tty0tty-1.1/AUTHORS +1 -0
  41. data/test/tty0tty-1.1/COPYING +340 -0
  42. data/test/tty0tty-1.1/INSTALL +18 -0
  43. data/test/tty0tty-1.1/README +52 -0
  44. data/test/tty0tty-1.1/THANKS +4 -0
  45. data/test/tty0tty-1.1/TODO +3 -0
  46. data/test/tty0tty-1.1/VERSION +4 -0
  47. data/test/tty0tty-1.1/module/Makefile +41 -0
  48. data/{bin/ardtweeno → test/tty0tty-1.1/module/Module.symvers} +0 -0
  49. data/test/tty0tty-1.1/module/modules.order +1 -0
  50. data/test/tty0tty-1.1/module/tty0tty.c +678 -0
  51. data/test/tty0tty-1.1/module/tty0tty.ko +0 -0
  52. data/test/tty0tty-1.1/module/tty0tty.mod.c +51 -0
  53. data/test/tty0tty-1.1/module/tty0tty.mod.o +0 -0
  54. data/test/tty0tty-1.1/module/tty0tty.o +0 -0
  55. data/test/tty0tty-1.1/pts/Makefile +10 -0
  56. data/test/tty0tty-1.1/pts/tty0tty +0 -0
  57. data/test/tty0tty-1.1/pts/tty0tty.c +222 -0
  58. data/views/createpost.erb +45 -0
  59. data/views/home.erb +59 -0
  60. metadata +89 -37
  61. data/README +0 -1
  62. data/test/Rakefile +0 -6
  63. data/test/features/ardtweeno.feature +0 -14
  64. data/test/features/step_definitions/ardtweeno_steps.rb +0 -24
@@ -0,0 +1,51 @@
1
+ #include <linux/module.h>
2
+ #include <linux/vermagic.h>
3
+ #include <linux/compiler.h>
4
+
5
+ MODULE_INFO(vermagic, VERMAGIC_STRING);
6
+
7
+ struct module __this_module
8
+ __attribute__((section(".gnu.linkonce.this_module"))) = {
9
+ .name = KBUILD_MODNAME,
10
+ .init = init_module,
11
+ #ifdef CONFIG_MODULE_UNLOAD
12
+ .exit = cleanup_module,
13
+ #endif
14
+ .arch = MODULE_ARCH_INIT,
15
+ };
16
+
17
+ static const struct modversion_info ____versions[]
18
+ __used
19
+ __attribute__((section("__versions"))) = {
20
+ { 0xa71fca74, "module_layout" },
21
+ { 0x37a0cba, "kfree" },
22
+ { 0xa6a18b92, "tty_unregister_driver" },
23
+ { 0x87cfe6d5, "tty_unregister_device" },
24
+ { 0x55c6db81, "put_tty_driver" },
25
+ { 0xeb444686, "tty_register_driver" },
26
+ { 0x2efa8282, "tty_set_operations" },
27
+ { 0x67b27ec1, "tty_std_termios" },
28
+ { 0xcc5d0440, "__alloc_tty_driver" },
29
+ { 0x68dfc59f, "__init_waitqueue_head" },
30
+ { 0x3ff56293, "kmem_cache_alloc_trace" },
31
+ { 0x6579fb5b, "kmalloc_caches" },
32
+ { 0xa9c54d96, "tty_flip_buffer_push" },
33
+ { 0x55e1a9d5, "tty_insert_flip_string_fixed_flag" },
34
+ { 0x3a013b7d, "remove_wait_queue" },
35
+ { 0x4292364c, "schedule" },
36
+ { 0xd7bd3af2, "add_wait_queue" },
37
+ { 0xffd5a395, "default_wake_function" },
38
+ { 0x664846a3, "current_task" },
39
+ { 0x2f287f0d, "copy_to_user" },
40
+ { 0x126b8d26, "tty_get_baud_rate" },
41
+ { 0xc4554217, "up" },
42
+ { 0xdd1a2871, "down" },
43
+ { 0x50eedeb8, "printk" },
44
+ { 0xb4390f9a, "mcount" },
45
+ };
46
+
47
+ static const char __module_depends[]
48
+ __used
49
+ __attribute__((section(".modinfo"))) =
50
+ "depends=";
51
+
Binary file
@@ -0,0 +1,10 @@
1
+
2
+ CC=gcc
3
+
4
+ FLAGS= -Wall -O2 -D_GNU_SOURCE
5
+
6
+ all:
7
+ $(CC) $(FLAGS) tty0tty.c -o tty0tty
8
+
9
+ clean:
10
+ rm -rf tty0tty *.o core
Binary file
@@ -0,0 +1,222 @@
1
+ /* ########################################################################
2
+
3
+ tty0tty - linux null modem emulator
4
+
5
+ ########################################################################
6
+
7
+ Copyright (c) : 2012 Luis Claudio Gambôa Lopes and Maximiliano Pin max.pin@bitroit.com
8
+
9
+ This program is free software; you can redistribute it and/or modify
10
+ it under the terms of the GNU General Public License as published by
11
+ the Free Software Foundation; either version 2, or (at your option)
12
+ any later version.
13
+
14
+ This program is distributed in the hope that it will be useful,
15
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ GNU General Public License for more details.
18
+
19
+ You should have received a copy of the GNU General Public License
20
+ along with this program; if not, write to the Free Software
21
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
+
23
+ For e-mail suggestions : lcgamboa@yahoo.com
24
+ ######################################################################## */
25
+
26
+
27
+ #include <stdio.h>
28
+ #include <stdlib.h>
29
+ #include <string.h>
30
+ #include <unistd.h>
31
+ #include <fcntl.h>
32
+ #include <sys/select.h>
33
+ #include <errno.h>
34
+
35
+ #include <termio.h>
36
+
37
+ static char buffer[1024];
38
+
39
+ int
40
+ ptym_open(char *pts_name, char *pts_name_s , int pts_namesz)
41
+ {
42
+ char *ptr;
43
+ int fdm;
44
+
45
+ strncpy(pts_name, "/dev/ptmx", pts_namesz);
46
+ pts_name[pts_namesz - 1] = '\0';
47
+
48
+ fdm = posix_openpt(O_RDWR | O_NONBLOCK);
49
+ if (fdm < 0)
50
+ return(-1);
51
+ if (grantpt(fdm) < 0)
52
+ {
53
+ close(fdm);
54
+ return(-2);
55
+ }
56
+ if (unlockpt(fdm) < 0)
57
+ {
58
+ close(fdm);
59
+ return(-3);
60
+ }
61
+ if ((ptr = ptsname(fdm)) == NULL)
62
+ {
63
+ close(fdm);
64
+ return(-4);
65
+ }
66
+
67
+ strncpy(pts_name_s, ptr, pts_namesz);
68
+ pts_name[pts_namesz - 1] = '\0';
69
+
70
+ return(fdm);
71
+ }
72
+
73
+
74
+ int
75
+ conf_ser(int serialDev)
76
+ {
77
+
78
+ int rc=0;
79
+ struct termios params;
80
+
81
+ // Get terminal atributes
82
+ rc = tcgetattr(serialDev, &params);
83
+
84
+ // Modify terminal attributes
85
+ cfmakeraw(&params);
86
+
87
+ rc = cfsetispeed(&params, B9600);
88
+
89
+ rc = cfsetospeed(&params, B9600);
90
+
91
+ // CREAD - Enable port to read data
92
+ // CLOCAL - Ignore modem control lines
93
+ params.c_cflag |= (B9600 |CS8 | CLOCAL | CREAD);
94
+
95
+ // Make Read Blocking
96
+ //fcntl(serialDev, F_SETFL, 0);
97
+
98
+ // Set serial attributes
99
+ rc = tcsetattr(serialDev, TCSANOW, &params);
100
+
101
+ // Flush serial device of both non-transmitted
102
+ // output data and non-read input data....
103
+ tcflush(serialDev, TCIOFLUSH);
104
+
105
+
106
+ return EXIT_SUCCESS;
107
+ }
108
+
109
+ void
110
+ copydata(int fdfrom, int fdto)
111
+ {
112
+ ssize_t br, bw;
113
+ char *pbuf = buffer;
114
+ br = read(fdfrom, buffer, 1024);
115
+ if (br < 0)
116
+ {
117
+ if (errno == EAGAIN || errno == EIO)
118
+ {
119
+ br = 0;
120
+ }
121
+ else
122
+ {
123
+ perror("read");
124
+ exit(1);
125
+ }
126
+ }
127
+ if (br > 0)
128
+ {
129
+ do
130
+ {
131
+ do
132
+ {
133
+ bw = write(fdto, pbuf, br);
134
+ if (bw > 0)
135
+ {
136
+ pbuf += bw;
137
+ br -= bw;
138
+ }
139
+ } while (br > 0 && bw > 0);
140
+ } while (bw < 0 && errno == EAGAIN);
141
+ if (bw <= 0)
142
+ {
143
+ // kernel buffer may be full, but we can recover
144
+ fprintf(stderr, "Write error, br=%d bw=%d\n", br, bw);
145
+ usleep(500000);
146
+ // discard input
147
+ while (read(fdfrom, buffer, 1024) > 0)
148
+ ;
149
+ }
150
+ }
151
+ else
152
+ {
153
+ usleep(100000);
154
+ }
155
+ }
156
+
157
+ int main(int argc, char* argv[])
158
+ {
159
+ char master1[1024];
160
+ char slave1[1024];
161
+ char master2[1024];
162
+ char slave2[1024];
163
+
164
+ int fd1;
165
+ int fd2;
166
+
167
+ fd_set rfds;
168
+ int retval;
169
+
170
+ fd1=ptym_open(master1,slave1,1024);
171
+
172
+ fd2=ptym_open(master2,slave2,1024);
173
+
174
+ if (argc >= 3)
175
+ {
176
+ unlink(argv[1]);
177
+ unlink(argv[2]);
178
+ if (symlink(slave1, argv[1]) < 0)
179
+ {
180
+ fprintf(stderr, "Cannot create: %s\n", argv[1]);
181
+ return 1;
182
+ }
183
+ if (symlink(slave2, argv[2]) < 0) {
184
+ fprintf(stderr, "Cannot create: %s\n", argv[2]);
185
+ return 1;
186
+ }
187
+ printf("(%s) <=> (%s)\n",argv[1],argv[2]);
188
+ }
189
+ else {
190
+ printf("(%s) <=> (%s)\n",slave1,slave2);
191
+ }
192
+
193
+ conf_ser(fd1);
194
+ conf_ser(fd2);
195
+
196
+ while(1)
197
+ {
198
+ FD_ZERO(&rfds);
199
+ FD_SET(fd1, &rfds);
200
+ FD_SET(fd2, &rfds);
201
+
202
+ retval = select(fd2 + 1, &rfds, NULL, NULL, NULL);
203
+ if (retval == -1)
204
+ {
205
+ perror("select");
206
+ return 1;
207
+ }
208
+ if (FD_ISSET(fd1, &rfds))
209
+ {
210
+ copydata(fd1, fd2);
211
+ }
212
+ if (FD_ISSET(fd2, &rfds))
213
+ {
214
+ copydata(fd2, fd1);
215
+ }
216
+ }
217
+
218
+ close(fd1);
219
+ close(fd2);
220
+
221
+ return EXIT_SUCCESS;
222
+ }
@@ -0,0 +1,45 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>Ardtweeno Application Gateway</title>
6
+ <link href="/main.css" media="screen" rel="stylesheet" type="text/css" />
7
+ </head>
8
+
9
+ <body>
10
+ <div id="header">
11
+ <div id="logo">Ardtweeno - Application Gateway</div>
12
+
13
+ <ul id="navigation">
14
+ <% if running == true %>
15
+ <li><a href="">Status [<img title="Running" id="status" src="/glossy_green_button.svg" height="25" width="25"></img>]</a></li>
16
+ <% else %>
17
+ <li><a href="">Status [<img title="Stopped" id="status" src="/glossy_red_button.svg" height="25" width="25"></img>]</a></li>
18
+ <% end %>
19
+ <li><a href="http://brovakin.wordpress.com">News</a></li>
20
+ <li><a href="http://github.com/dkirwan/ardtweeno">Source</a></li>
21
+ </ul>
22
+ </div>
23
+
24
+ <div id="content">
25
+
26
+ <form id="postform" action="/b97cb9ae44747ee263363463b7e56/create/post" method="post">
27
+ <ul>
28
+ <li>Title:<br /><input id="title" name="title" type="text" /><br /></li>
29
+ <li>Content:<br /><textarea id="content" name="content" rows="4" cols="50"> </textarea><br /></li>
30
+ <li>Code:<br /><textarea id="code" name="code" rows="4" cols="50"> </textarea><br /></li>
31
+ <li><input id="submit" name="submit" type="submit" value="Submit" /><br /></li>
32
+ </ul>
33
+ </form>
34
+
35
+
36
+
37
+ <div id="footer">
38
+ <hr/>
39
+ <p id="licence">
40
+ All content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.<br /><br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a>
41
+ </p>
42
+ </div>
43
+ </div>
44
+ </body>
45
+ </html>
data/views/home.erb ADDED
@@ -0,0 +1,59 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>Ardtweeno Application Gateway</title>
6
+ <link href="/main.css" media="screen" rel="stylesheet" type="text/css" />
7
+
8
+ <link rel="stylesheet" href="/highlightjs/styles/monokai.css">
9
+ <script src="/highlightjs/highlight.pack.js"></script>
10
+ <script>hljs.initHighlightingOnLoad();</script>
11
+ </head>
12
+
13
+ <body>
14
+ <div id="header">
15
+ <div id="logo">Ardtweeno - Application Gateway</div>
16
+
17
+ <ul id="navigation">
18
+ <% if running == true %>
19
+ <li><a href="">Status [<img title="Running" id="status" src="/glossy_green_button.svg" height="25" width="25"></img>]</a></li>
20
+ <% else %>
21
+ <li><a href="">Status [<img title="Stopped" id="status" src="/glossy_red_button.svg" height="25" width="25"></img>]</a></li>
22
+ <% end %>
23
+ <li><a href="http://brovakin.wordpress.com">News</a></li>
24
+ <li><a href="http://github.com/dkirwan/ardtweeno">Source</a></li>
25
+ </ul>
26
+ </div>
27
+
28
+ <div id="content">
29
+
30
+ <img id="sample" src="/raspberrypi.jpg" height="175" width="240"/>
31
+
32
+ <p id="blurb">Ardtweeno is an application gateway which bridges an XBEE 802.15.4 radio mesh network and an Internet Protocol network. The system is designed as a PaaS (platform as a service) for the <a href="http://raspberrypi.org">Raspberry Pi</a> ARM platform.</p>
33
+
34
+ <div id="posts">
35
+ <h2>News Posts</h2>
36
+ <% unless postdata.nil? %>
37
+ <% postdata.each do |i| %>
38
+ <div id="post">
39
+ <h3 id="post-title"><%= i[:posttitle]%></h3>
40
+ <p id="post-content"><%= i[:postcontent] %></p>
41
+ <% unless i[:postcode] == '' %>
42
+ <pre><code id="post-code"><%= i[:postcode] %></code></pre>
43
+ <% end %>
44
+ </div>
45
+ <% end %>
46
+ <% end %>
47
+ </div>
48
+
49
+
50
+ <div id="footer">
51
+ <hr/>
52
+ <p id="licence">
53
+ All content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/deed.en_US">Attribution-NonCommercial 3.0 Unported</a>.<br /><br /><a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc/3.0/88x31.png" /></a>
54
+ </p>
55
+ </div>
56
+
57
+ </div>
58
+ </body>
59
+ </html>
metadata CHANGED
@@ -1,71 +1,123 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ardtweeno
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.2.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Kirwan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-08 00:00:00.000000000 Z
13
- dependencies: []
14
- description: ! 'Ardtweeno is a simple parser system for gathering data from a serial
15
- interface which can then be used to generate graphs, statistics
16
-
17
- and reports from this data suitable for sharing over HTTP through a Ruby on Rails
18
- gateway application.
19
-
20
- '
11
+ date: 2013-05-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.2.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.2.3
27
+ description: "Ardtweeno - Application Gateway bridges device connected through a serial
28
+ link to devices connected \nover Internet Protocol. It is designed as a PaaS capable
29
+ of being run on the ARM powered Raspberry Pi\nModel B. It exposes a RESTAPI powered
30
+ by Sinatra.\n"
21
31
  email:
22
- - 00346128@mail.wit.ie
32
+ - davidkirwanirl@gmail.com
23
33
  executables: []
24
34
  extensions: []
25
35
  extra_rdoc_files: []
26
36
  files:
27
37
  - lib/ardtweeno.rb
28
- - bin/ardtweeno
29
- - README.md
30
- - COPYING
38
+ - lib/ardtweeno/api.rb
39
+ - lib/ardtweeno/configreader.rb
40
+ - lib/ardtweeno/db.rb
41
+ - lib/ardtweeno/dispatcher.rb
42
+ - lib/ardtweeno/exceptions.rb
43
+ - lib/ardtweeno/node.rb
44
+ - lib/ardtweeno/nodemanager.rb
45
+ - lib/ardtweeno/packet.rb
46
+ - lib/ardtweeno/restapi.rb
47
+ - lib/ardtweeno/serialparser.rb
31
48
  - CHANGELOG
49
+ - COPYING
50
+ - Gemfile
51
+ - Gemfile.lock
52
+ - INSTALL
53
+ - Procfile
54
+ - README.md
32
55
  - Rakefile
33
- - README
34
- - test/features/ardtweeno.feature
35
- - test/features/step_definitions/ardtweeno_steps.rb
36
- - test/Rakefile
56
+ - public/glossy_green_button.svg
57
+ - public/glossy_red_button.svg
58
+ - public/main.css
59
+ - public/raspberrypi.jpg
60
+ - views/createpost.erb
61
+ - views/home.erb
62
+ - resources/conf.yaml
63
+ - resources/nodelist.yaml
64
+ - resources/serialparser.js
65
+ - test/api_test.rb
66
+ - test/dispatcher_test.rb
67
+ - test/node_test.rb
68
+ - test/nodemanager_test.rb
69
+ - test/packet_test.rb
70
+ - test/parser_test.rb
71
+ - test/post_watch
72
+ - test/rest_api_test.rb
73
+ - test/run_mock
74
+ - test/run_packet_push
75
+ - test/serialport_mock.rb
76
+ - test/test_helper.rb
77
+ - test/tty0tty-1.1/AUTHORS
78
+ - test/tty0tty-1.1/COPYING
79
+ - test/tty0tty-1.1/INSTALL
80
+ - test/tty0tty-1.1/README
81
+ - test/tty0tty-1.1/THANKS
82
+ - test/tty0tty-1.1/TODO
83
+ - test/tty0tty-1.1/VERSION
84
+ - test/tty0tty-1.1/module/Makefile
85
+ - test/tty0tty-1.1/module/Module.symvers
86
+ - test/tty0tty-1.1/module/modules.order
87
+ - test/tty0tty-1.1/module/tty0tty.c
88
+ - test/tty0tty-1.1/module/tty0tty.ko
89
+ - test/tty0tty-1.1/module/tty0tty.mod.c
90
+ - test/tty0tty-1.1/module/tty0tty.mod.o
91
+ - test/tty0tty-1.1/module/tty0tty.o
92
+ - test/tty0tty-1.1/pts/Makefile
93
+ - test/tty0tty-1.1/pts/tty0tty
94
+ - test/tty0tty-1.1/pts/tty0tty.c
37
95
  homepage: http://rubygems.org/gems/ardtweeno
38
96
  licenses:
39
- - CC BY-SA 3.0
40
- post_install_message: ! 'This is an empty placeholder gem to claim the gem name until
41
- such time as the codebase has been released.
42
-
43
-
44
- This software is released under the creative commons attribution-sharealike 3.0
45
- unported (cc by-sa 3.0) licence.
46
-
47
- for more information see: http://creativecommons.org/licenses/by-sa/3.0/
48
-
49
- '
97
+ - CC BY-NC 3.0
98
+ metadata: {}
99
+ post_install_message: |
100
+ This software is released under the Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) licence.
101
+ for more information see: http://creativecommons.org/licenses/by-nc/3.0/
50
102
  rdoc_options: []
51
103
  require_paths:
52
104
  - lib
53
105
  required_ruby_version: !ruby/object:Gem::Requirement
54
- none: false
55
106
  requirements:
56
- - - ! '>='
107
+ - - '>='
57
108
  - !ruby/object:Gem::Version
58
109
  version: 1.8.7
59
110
  required_rubygems_version: !ruby/object:Gem::Requirement
60
- none: false
61
111
  requirements:
62
- - - ! '>='
112
+ - - '>='
63
113
  - !ruby/object:Gem::Version
64
114
  version: '0'
65
115
  requirements: []
66
116
  rubyforge_project:
67
- rubygems_version: 1.8.23
117
+ rubygems_version: 2.0.3
68
118
  signing_key:
69
- specification_version: 3
70
- summary: Simple serial to HTTP gateway.
119
+ specification_version: 4
120
+ summary: Serial Device / IP Network Gateway designed as a PaaS to be run on the Raspberry
121
+ Pi, exposes Sinatra API
71
122
  test_files: []
123
+ has_rdoc:
data/README DELETED
@@ -1 +0,0 @@
1
-
data/test/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- #$:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = %w{--format pretty}
6
- end
@@ -1,14 +0,0 @@
1
- Feature: test
2
-
3
- This is the first in a long line of required tests to ensure the Ardtweeno gem is
4
- working correctly.
5
-
6
- Background:
7
- In order to test the ardtweeno gem
8
- As an ardtweeno user
9
- I want to be able to test the gem in my step definitions
10
-
11
- Scenario: test
12
- Given I have just test
13
- And test
14
- Then test
@@ -1,24 +0,0 @@
1
- require 'test/unit/assertions'
2
- World(Test::Unit::Assertions)
3
-
4
- Given /^I have just passed a folder (\w+) of (\w+)/ do |var, value|
5
- instance_variable_set("@#{var}", value)
6
- end
7
-
8
- Given /^(\w+) does not exist already$/ do |name|
9
-
10
- end
11
-
12
- begin
13
- require 'rubygems'
14
- require 'ardtweeno'
15
-
16
- Then /^when the script has finished (\w+) should exist$/ do |name|
17
-
18
- end
19
-
20
- rescue LoadError
21
-
22
- STDERR.puts LoadError
23
-
24
- end