artoo 1.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +4 -3
- data/Gemfile +0 -12
- data/Gemfile.lock +12 -72
- data/LICENSE +1 -1
- data/README.md +19 -8
- data/artoo.gemspec +1 -0
- data/bin/artoo +2 -1
- data/examples/hello.rb +6 -3
- data/lib/artoo/adaptors/adaptor.rb +2 -2
- data/lib/artoo/api/api.rb +6 -10
- data/lib/artoo/api/route_helpers.rb +3 -3
- data/lib/artoo/commands/connect.rb +12 -4
- data/lib/artoo/commands/install.rb +2 -2
- data/lib/artoo/delegator.rb +1 -1
- data/lib/artoo/drivers/passthru.rb +1 -1
- data/lib/artoo/generators/adaptor/artoo-%adaptor_name%.gemspec.tt +1 -0
- data/lib/artoo/generators/adaptor/lib/artoo/drivers/%adaptor_name%.rb.tt +1 -1
- data/lib/artoo/robot.rb +1 -1
- data/lib/artoo/robot_class_methods.rb +7 -2
- data/lib/artoo/version.rb +1 -1
- metadata +38 -54
- data/Guardfile +0 -10
- data/api/assets/compass.rb +0 -25
- data/api/assets/javascripts/artoo/controllers/robot.js.coffee +0 -33
- data/api/assets/javascripts/artoo/routes.js.coffee +0 -23
- data/api/assets/javascripts/core.js.coffee +0 -6
- data/api/assets/javascripts/vendor/angular.min.js +0 -161
- data/api/assets/javascripts/vendor/bootstrap.min.js +0 -6
- data/api/assets/javascripts/vendor/jquery.min.js +0 -5
- data/api/assets/stylesheets/artoo/_core.css.scss +0 -3
- data/api/assets/stylesheets/artoo/_font-awesome.scss +0 -534
- data/api/assets/stylesheets/artoo/_variables.scss +0 -8
- data/api/assets/stylesheets/core.scss +0 -76
- data/api/public/core.css +0 -9856
- data/api/public/core.js +0 -274
- data/api/public/favicon.ico +0 -0
- data/api/public/font/FontAwesome.otf +0 -0
- data/api/public/font/fontawesome-webfont.eot +0 -0
- data/api/public/font/fontawesome-webfont.svg +0 -284
- data/api/public/font/fontawesome-webfont.ttf +0 -0
- data/api/public/font/fontawesome-webfont.woff +0 -0
- data/api/public/html5shiv.js +0 -8
- data/api/public/images/devices/ardrone.jpg +0 -0
- data/api/public/images/devices/arduino.jpg +0 -0
- data/api/public/images/devices/sphero.png +0 -0
- data/api/public/images/glyphicons-halflings-white.png +0 -0
- data/api/public/images/glyphicons-halflings.png +0 -0
- data/api/public/index.html +0 -36
- data/api/public/partials/robot-detail.html +0 -125
- data/api/public/partials/robot-device-detail.html +0 -0
- data/api/public/partials/robot-index.html +0 -26
Binary file
|
Binary file
|
data/api/public/html5shiv.js
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
3
|
-
*/
|
4
|
-
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
5
|
-
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
|
6
|
-
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
7
|
-
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
|
8
|
-
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/api/public/index.html
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html ng-app="artoo">
|
3
|
-
<head>
|
4
|
-
<title>Artoo</title>
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
-
<!-- Bootstrap -->
|
7
|
-
<script type="text/javascript" src="core.js"></script>
|
8
|
-
<link rel="stylesheet" href="core.css" rel="stylesheet" media="screen">
|
9
|
-
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
10
|
-
<!--[if lt IE 9]>
|
11
|
-
<script src="html5shiv.js"></script>
|
12
|
-
<![endif]-->
|
13
|
-
</head>
|
14
|
-
<body>
|
15
|
-
<div class="navbar navbar-inverse navbar-fixed-top">
|
16
|
-
<div class="navbar-inner">
|
17
|
-
<div class="container">
|
18
|
-
<a class="brand" href="/">Artoo</a>
|
19
|
-
|
20
|
-
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
21
|
-
<span class="icon-bar"></span>
|
22
|
-
<span class="icon-bar"></span>
|
23
|
-
<span class="icon-bar"></span>
|
24
|
-
</button>
|
25
|
-
<div class="nav-collapse collapse">
|
26
|
-
<ul class="nav" ng-app="link">
|
27
|
-
<li active-link="active"><a href="#/robots">Robots</a></li>
|
28
|
-
</ul>
|
29
|
-
</div><!--/.nav-collapse -->
|
30
|
-
</div>
|
31
|
-
</div>
|
32
|
-
</div>
|
33
|
-
|
34
|
-
<div ng-view></div>
|
35
|
-
</body>
|
36
|
-
</html>
|
@@ -1,125 +0,0 @@
|
|
1
|
-
<div class="container">
|
2
|
-
<div class="container device">
|
3
|
-
<div class="row-fluid">
|
4
|
-
<div class="span2">
|
5
|
-
<div class="display">
|
6
|
-
{{robot.type || "Robot"}}
|
7
|
-
</div>
|
8
|
-
</div>
|
9
|
-
<div class="span10">
|
10
|
-
<b>
|
11
|
-
<span class="name">{{robot.name}}</span>
|
12
|
-
<dl class="controls">
|
13
|
-
<dt><i class="icon-fighter-jet"></i> devices: </dt>
|
14
|
-
<dd>{{robot.connections.length}}</dd>
|
15
|
-
<dt><i class="icon-exchange"></i> connections: </dt>
|
16
|
-
<dd>{{robot.connections.length}}</dd>
|
17
|
-
</dl>
|
18
|
-
</b>
|
19
|
-
</div>
|
20
|
-
</div>
|
21
|
-
</div>
|
22
|
-
|
23
|
-
<div class="container device details" ng-show='deviceDetail'>
|
24
|
-
<div class="row-fluid">
|
25
|
-
<div class="span2">
|
26
|
-
<b><span class="name">{{deviceDetail.name}}</span></b>
|
27
|
-
</div>
|
28
|
-
<div class="span5 pull-right">
|
29
|
-
<b>
|
30
|
-
<dl class="controls">
|
31
|
-
<span ng-show='deviceDetail.pin'>
|
32
|
-
<dt><i class="icon-fighter-jet"></i> </dt>
|
33
|
-
<dd>{{ deviceDetail.pin }}</dd>
|
34
|
-
</span>
|
35
|
-
<span ng-show='deviceDetail.driver'>
|
36
|
-
<dt><i class="icon-hdd"></i></dt>
|
37
|
-
<dd>{{ deviceDetail.driver }}</dd>
|
38
|
-
</span>
|
39
|
-
<span ng-show='deviceDetail.adaptor'>
|
40
|
-
<dt><i class="icon-resize-horizontal"></i></dt>
|
41
|
-
<dd>{{ deviceDetail.adaptor }}</dd>
|
42
|
-
</span>
|
43
|
-
<span ng-show='deviceDetail.connection'>
|
44
|
-
<dt><i class="icon-circle" ng-class="isConnected(deviceDetail.connection)"></i> </dt>
|
45
|
-
<dd ng-show="deviceDetail.connection.name">{{deviceDetail.connection.name}}</dd>
|
46
|
-
</span>
|
47
|
-
</dl>
|
48
|
-
<div class="input-prepend">
|
49
|
-
<div class="commands btn-group" >
|
50
|
-
<a class="btn dropdown-toggle btn-mini" data-toggle="dropdown" href="#">
|
51
|
-
Commands
|
52
|
-
<span class="caret"></span>
|
53
|
-
</a>
|
54
|
-
<ul class="dropdown-menu">
|
55
|
-
<div ng-repeat="command in deviceDetail.commands">
|
56
|
-
<li><a ng-click="executeCommand(deviceDetail.name, command)">{{command }}</a></li>
|
57
|
-
</div>
|
58
|
-
</ul>
|
59
|
-
</div>
|
60
|
-
<input id="appendedDropdownButton" type="text">
|
61
|
-
</div>
|
62
|
-
</b>
|
63
|
-
</div>
|
64
|
-
</div>
|
65
|
-
<div class="row-fluid content">
|
66
|
-
<div class="console">
|
67
|
-
<code></code>
|
68
|
-
</div>
|
69
|
-
</div>
|
70
|
-
</div>
|
71
|
-
|
72
|
-
|
73
|
-
<div class="row">
|
74
|
-
|
75
|
-
<div class="span6">
|
76
|
-
<div class="device" ng-repeat="device in robot.devices" ng-click="getDeviceDetail(device.name)">
|
77
|
-
<div class="row-fluid">
|
78
|
-
<div class="span2">
|
79
|
-
<div class="display">
|
80
|
-
D
|
81
|
-
</div>
|
82
|
-
</div>
|
83
|
-
<div class="span10">
|
84
|
-
<b>
|
85
|
-
<span class="name">{{device.name}}</span>
|
86
|
-
<dl class="controls">
|
87
|
-
<span ng-show="device.pin">
|
88
|
-
<dt ><i class="icon-bolt"></i> pin: </dt>
|
89
|
-
<dd>{{device.pin}}</dd>
|
90
|
-
</span>
|
91
|
-
<dt><i class="icon-exchange"></i> </dt>
|
92
|
-
<dd>{{device.connection.name}}</dd>
|
93
|
-
</dl>
|
94
|
-
</b>
|
95
|
-
</div>
|
96
|
-
</div>
|
97
|
-
</div>
|
98
|
-
</div>
|
99
|
-
|
100
|
-
|
101
|
-
<div class="span6">
|
102
|
-
<div class="device" ng-repeat="connection in robot.connections">
|
103
|
-
<div class="row-fluid">
|
104
|
-
<div class="span2">
|
105
|
-
<div class="display">
|
106
|
-
<i class="icon-exchange"></i>
|
107
|
-
</div>
|
108
|
-
</div>
|
109
|
-
<div class="span10">
|
110
|
-
<b>
|
111
|
-
<span class="name">{{connection.name}}</span>
|
112
|
-
<dl class="controls">
|
113
|
-
<dt><i class="icon-circle" ng-class="isConnected(connection)"></i> </dt>
|
114
|
-
<dd ng-show="connection.port">{{connection.port}}</dd>
|
115
|
-
</dl>
|
116
|
-
</b>
|
117
|
-
</div>
|
118
|
-
</div>
|
119
|
-
</div>
|
120
|
-
</div>
|
121
|
-
|
122
|
-
</div>
|
123
|
-
|
124
|
-
|
125
|
-
</div>
|
File without changes
|
@@ -1,26 +0,0 @@
|
|
1
|
-
<div class="container">
|
2
|
-
|
3
|
-
<h1>Listing all Robots</h1>
|
4
|
-
|
5
|
-
<div class="container device clickable" ng-repeat="robot in robots" ng-click="robotDetail(robot.name)">
|
6
|
-
<div class="row-fluid">
|
7
|
-
<div class="span2">
|
8
|
-
<div class="display sphero">
|
9
|
-
{{robot.type || "Robot"}}
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
<div class="span10">
|
13
|
-
<b>
|
14
|
-
<span class="name">{{robot.name}}</span>
|
15
|
-
<dl class="controls">
|
16
|
-
<dt><i class="icon-fighter-jet"></i> Devices: </dt>
|
17
|
-
<dd>{{robot.connections.length}}</dd>
|
18
|
-
<dt><i class="icon-exchange"></i> Connections: </dt>
|
19
|
-
<dd>{{robot.connections.length}}</dd>
|
20
|
-
</dl>
|
21
|
-
</b>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
|
26
|
-
</div>
|