smalruby-editor 0.1.18 → 0.1.19

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of smalruby-editor might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a2628069083c087a77692fcf0c35b87df2ec1de3
4
- data.tar.gz: 6b9cb44cebc5ffa0d3d574b8eb25fcf8404ad166
3
+ metadata.gz: 9d087dfab3de1065ee3040747f53713dc2ef207c
4
+ data.tar.gz: 189e16f336d05a06abc08cef8f26b8fbadabedff
5
5
  SHA512:
6
- metadata.gz: 2b5f7bb1f744bc6571d2324e85001b4c7e45990b77b90c891b21926850299d90746121c07466c89d7266750f261bbb4f820652fcba4367c1f7db1d3f4596d693
7
- data.tar.gz: 2eb8fd9fc0062e2c3b068a35ee2717e3fc564fcda02497919b49f55ba29e5893f8b96f228aaef36ca01c761b70d4341f7d5f313c48e32faea33628bd6c2b7c2c
6
+ metadata.gz: 5eebcd0351f76e5dff3339bd949f63c90bf4546ad699c9a54672d3608672a4b1197917e9f0c267876dc1756a4c3e90518a20e7ab0fa182a3124d1ff2b279707c
7
+ data.tar.gz: a4a4d17f52774a5d9706871724bced764822e22890d1e8c42678eef41ab0db47ecc6b488f41234f9752313b23d4f85689bcc052b224172a4d988bdfde3aecf63
@@ -22,6 +22,7 @@
22
22
  //= require bootstrap.js
23
23
  //= require jquery-fileupload/basic
24
24
  //= require blockly/blockly_compressed
25
+ //= require fix_blockly.js
25
26
  //= require blockly/blocks_compressed
26
27
  //= require blockly/msg/js/ja
27
28
  //= require underscore
@@ -31,4 +31,4 @@ Blockly.Ruby['<%= n %>'] = (block) ->
31
31
  Blockly.Ruby['<%= n %>'] = (block) ->
32
32
  val = Blockly.Ruby.valueToCode(block, 'VALUE', Blockly.Ruby.ORDER_NONE) || '0'
33
33
  name = Blockly.Ruby.variableDB_.getName(block.getFieldValue('VAR'), Blockly.Variables.NAME_TYPE)
34
- name + ' = ' + val + '\n';
34
+ name + ' = ' + val + '\n'
@@ -247,6 +247,28 @@ Blockly.Blocks['<%= n %>'] =
247
247
  Blockly.Ruby['<%= n %>'] = (block) ->
248
248
  Blockly.Ruby.characterMethodCall_('turn')
249
249
 
250
+ # [▼水平(X)]方向に跳ね返る
251
+ <% n = "#{category}_turn_xy" %>
252
+ Blockly.Blocks['<%= n %>'] =
253
+ init: ()->
254
+ dropdown = [
255
+ ['水平(X)', 'x'],
256
+ ['垂直(Y)', 'y'],
257
+ ]
258
+
259
+ @setHelpUrl('')
260
+ @setColour(<%= color %>)
261
+ @appendDummyInput()
262
+ .appendField(new Blockly.FieldDropdown(dropdown), 'XY')
263
+ .appendField('方向に跳ね返る')
264
+ @setPreviousStatement(true)
265
+ @setNextStatement(true)
266
+ @setTooltip('')
267
+
268
+ Blockly.Ruby['<%= n %>'] = (block) ->
269
+ xy = @getFieldValue('XY')
270
+ Blockly.Ruby.characterMethodCall_("turn_#{xy}")
271
+
250
272
  # 回転方法を[▼]にする
251
273
  <% n = "#{category}_set_rotation_style" %>
252
274
  Blockly.Blocks['<%= n %>'] =
@@ -0,0 +1,16 @@
1
+ Blockly.Names.prototype.safeName_ = function(name) {
2
+ if (!name) {
3
+ name = 'unnamed';
4
+ } else {
5
+ // Unfortunately names in non-latin characters will look like
6
+ // _E9_9F_B3_E4_B9_90 which is pretty meaningless.
7
+ // HACK: Rubyでは日本語の変数名を許可しているためencodeURIを行わない。
8
+ // また、使えない記号を置換する。
9
+ name = name.replace(/[ !"#$%&'()=\-~^\\|`@{\[+;*:}\]<>,.?\/]/g, '_')
10
+ // Most languages don't allow names with leading numbers.
11
+ if ('0123456789'.indexOf(name[0]) != -1) {
12
+ name = '_' + name;
13
+ }
14
+ }
15
+ return name;
16
+ };
@@ -37,6 +37,7 @@
37
37
  93
38
38
  93
39
39
  93
40
+ 330
40
41
  340
41
42
  208
42
43
  208
@@ -27,16 +27,21 @@ class SourceCodesController < ApplicationController
27
27
  filename: 'car_chase.rb',
28
28
  imageUrl: '/smalruby/assets/car2.png',
29
29
  }
30
- res[:demoPrograms] << {
31
- title: 'ライトをぴかっとさせるでよ',
32
- filename: 'hardware_led.rb',
33
- imageUrl: '/smalruby/assets/frog1.png',
34
- }
35
30
  res[:demoPrograms] << {
36
31
  title: 'クリックスターだにゃ~',
37
32
  filename: 'star.rb',
38
33
  imageUrl: '/smalruby/assets/cat1.png',
39
34
  }
35
+ res[:demoPrograms] << {
36
+ title: 'ピンポンゲーム',
37
+ filename: 'pong.rb',
38
+ imageUrl: '/smalruby/assets/cat2.png',
39
+ }
40
+ res[:demoPrograms] << {
41
+ title: 'ライトをぴかっとさせるでよ',
42
+ filename: 'hardware_led.rb',
43
+ imageUrl: '/smalruby/assets/frog1.png',
44
+ }
40
45
 
41
46
  render json: res
42
47
  end
@@ -0,0 +1,14 @@
1
+ # -*- coding: utf-8 -*-
2
+ module RubyToBlock
3
+ module Block
4
+ class MotionTurnXy < CharacterMethodCall
5
+ blocknize '^\s*' + CHAR_RE + 'turn_([xy])\s*$', statement: true
6
+
7
+ def self.process_match_data(md, context)
8
+ md2 = regexp.match(md[type])
9
+ add_character_method_call_block(context, md2[1], new(fields: { XY: md2[2] }))
10
+ true
11
+ end
12
+ end
13
+ end
14
+ end
@@ -54,6 +54,9 @@
54
54
  -# 跳ね返る
55
55
  %block{:type => "#{category}_turn"}
56
56
 
57
+ -# [▼水平(X)]方向に跳ね返る
58
+ %block{:type => "#{category}_turn_xy"}
59
+
57
60
  -# 時計回りに( )度回す
58
61
  %block{:type => "#{category}_rotate_right"}
59
62
  = toolbox_number_value('ANGLE', 15)
data/demos/pong.rb.xml ADDED
@@ -0,0 +1,377 @@
1
+ <xml xmlns="http://www.w3.org/1999/xhtml">
2
+ <character name="cat1" angle="0" costumes="cat2.png" y="0" x="0" rotation_style="left_right" />
3
+ <character name="frog1" angle="180" costumes="frog1.png" y="0" x="544" rotation_style="left_right" />
4
+ <character name="ball1" angle="225" costumes="ball6.png" y="184" x="304" rotation_style="left_right" />
5
+ <block type="variables_set" y="-180" x="-25" inline="false">
6
+ <field name="VAR">プレイ中</field>
7
+ <value name="VALUE">
8
+ <block type="operators_true" />
9
+ </value>
10
+ <next>
11
+ <block type="variables_set" inline="false">
12
+ <field name="VAR">回数</field>
13
+ <value name="VALUE">
14
+ <block type="math_number">
15
+ <field name="NUM">0</field>
16
+ </block>
17
+ </value>
18
+ </block>
19
+ </next>
20
+ </block>
21
+ <block type="character_new" y="-102" x="-19">
22
+ <field name="NAME">cat1</field>
23
+ <statement name="DO">
24
+ <block type="events_on_start">
25
+ <statement name="DO">
26
+ <block type="control_loop">
27
+ <statement name="DO">
28
+ <block type="looks_say" inline="true">
29
+ <value name="TEXT">
30
+ <block type="variables_get">
31
+ <field name="VAR">回数</field>
32
+ </block>
33
+ </value>
34
+ </block>
35
+ </statement>
36
+ </block>
37
+ </statement>
38
+ <next>
39
+ <block type="events_on_key_push_or_down">
40
+ <field name="KEY">K_UP</field>
41
+ <field name="POD">down</field>
42
+ <statement name="DO">
43
+ <block type="motion_change_y_by" inline="true">
44
+ <value name="Y">
45
+ <block type="math_number">
46
+ <field name="NUM">-20</field>
47
+ </block>
48
+ </value>
49
+ </block>
50
+ </statement>
51
+ <next>
52
+ <block type="events_on_key_push_or_down">
53
+ <field name="KEY">K_DOWN</field>
54
+ <field name="POD">down</field>
55
+ <statement name="DO">
56
+ <block type="motion_change_y_by" inline="true">
57
+ <value name="Y">
58
+ <block type="math_number">
59
+ <field name="NUM">20</field>
60
+ </block>
61
+ </value>
62
+ </block>
63
+ </statement>
64
+ </block>
65
+ </next>
66
+ </block>
67
+ </next>
68
+ </block>
69
+ </statement>
70
+ </block>
71
+ <block type="character_new" y="-100" x="591">
72
+ <field name="NAME">ball1</field>
73
+ <statement name="DO">
74
+ <block type="events_on_start">
75
+ <statement name="DO">
76
+ <block type="control_loop">
77
+ <statement name="DO">
78
+ <block type="motion_move" inline="true">
79
+ <value name="STEP">
80
+ <block type="operators_add" inline="true">
81
+ <value name="A">
82
+ <block type="math_number">
83
+ <field name="NUM">10</field>
84
+ </block>
85
+ </value>
86
+ <value name="B">
87
+ <block type="variables_get">
88
+ <field name="VAR">回数</field>
89
+ </block>
90
+ </value>
91
+ </block>
92
+ </value>
93
+ <next>
94
+ <block type="motion_turn_if_reach_wall">
95
+ <next>
96
+ <block type="control_if" inline="true">
97
+ <value name="COND">
98
+ <block type="operators_compare_gte" inline="true">
99
+ <value name="A">
100
+ <block type="sensing_character_property">
101
+ <field name="CHAR">ball1</field>
102
+ <field name="PROPERTY">x</field>
103
+ </block>
104
+ </value>
105
+ <value name="B">
106
+ <block type="math_number">
107
+ <field name="NUM">608</field>
108
+ </block>
109
+ </value>
110
+ </block>
111
+ </value>
112
+ <statement name="THEN">
113
+ <block type="looks_say" inline="true">
114
+ <value name="TEXT">
115
+ <block type="text">
116
+ <field name="TEXT">あなたの勝ち!</field>
117
+ </block>
118
+ </value>
119
+ <next>
120
+ <block type="variables_set" inline="false">
121
+ <field name="VAR">プレイ中</field>
122
+ <value name="VALUE">
123
+ <block type="operators_false" />
124
+ </value>
125
+ </block>
126
+ </next>
127
+ </block>
128
+ </statement>
129
+ <next>
130
+ <block type="control_if" inline="true">
131
+ <value name="COND">
132
+ <block type="operators_compare_lte" inline="true">
133
+ <value name="A">
134
+ <block type="sensing_character_property">
135
+ <field name="CHAR">ball1</field>
136
+ <field name="PROPERTY">x</field>
137
+ </block>
138
+ </value>
139
+ <value name="B">
140
+ <block type="math_number">
141
+ <field name="NUM">0</field>
142
+ </block>
143
+ </value>
144
+ </block>
145
+ </value>
146
+ <statement name="THEN">
147
+ <block type="looks_say" inline="true">
148
+ <value name="TEXT">
149
+ <block type="text">
150
+ <field name="TEXT">あなたの負け!</field>
151
+ </block>
152
+ </value>
153
+ <next>
154
+ <block type="variables_set" inline="false">
155
+ <field name="VAR">プレイ中</field>
156
+ <value name="VALUE">
157
+ <block type="operators_false" />
158
+ </value>
159
+ </block>
160
+ </next>
161
+ </block>
162
+ </statement>
163
+ <next>
164
+ <block type="control_if" inline="true">
165
+ <value name="COND">
166
+ <block type="operators_compare_eq" inline="true">
167
+ <value name="A">
168
+ <block type="variables_get">
169
+ <field name="VAR">プレイ中</field>
170
+ </block>
171
+ </value>
172
+ <value name="B">
173
+ <block type="operators_false" />
174
+ </value>
175
+ </block>
176
+ </value>
177
+ <statement name="THEN">
178
+ <block type="control_break" />
179
+ </statement>
180
+ </block>
181
+ </next>
182
+ </block>
183
+ </next>
184
+ </block>
185
+ </next>
186
+ </block>
187
+ </next>
188
+ </block>
189
+ </statement>
190
+ </block>
191
+ </statement>
192
+ <next>
193
+ <block type="events_on_hit">
194
+ <field name="CHAR">cat1</field>
195
+ <statement name="DO">
196
+ <block type="variables_set" inline="false">
197
+ <field name="VAR">回数</field>
198
+ <value name="VALUE">
199
+ <block type="operators_add" inline="true">
200
+ <value name="A">
201
+ <block type="variables_get">
202
+ <field name="VAR">回数</field>
203
+ </block>
204
+ </value>
205
+ <value name="B">
206
+ <block type="math_number">
207
+ <field name="NUM">1</field>
208
+ </block>
209
+ </value>
210
+ </block>
211
+ </value>
212
+ <next>
213
+ <block type="motion_turn_xy">
214
+ <field name="XY">x</field>
215
+ <next>
216
+ <block type="control_if" inline="true">
217
+ <value name="COND">
218
+ <block type="sensing_input_key_push_or_down">
219
+ <field name="KEY">K_UP</field>
220
+ <field name="POD">down</field>
221
+ </block>
222
+ </value>
223
+ <statement name="THEN">
224
+ <block type="motion_rotate_left" inline="true">
225
+ <value name="ANGLE">
226
+ <block type="math_number">
227
+ <field name="NUM">5</field>
228
+ </block>
229
+ </value>
230
+ </block>
231
+ </statement>
232
+ <next>
233
+ <block type="control_if" inline="true">
234
+ <value name="COND">
235
+ <block type="sensing_input_key_push_or_down">
236
+ <field name="KEY">K_DOWN</field>
237
+ <field name="POD">down</field>
238
+ </block>
239
+ </value>
240
+ <statement name="THEN">
241
+ <block type="motion_rotate_right" inline="true">
242
+ <value name="ANGLE">
243
+ <block type="math_number">
244
+ <field name="NUM">5</field>
245
+ </block>
246
+ </value>
247
+ </block>
248
+ </statement>
249
+ <next>
250
+ <block type="motion_set_x" inline="true">
251
+ <value name="X">
252
+ <block type="math_number">
253
+ <field name="NUM">100</field>
254
+ </block>
255
+ </value>
256
+ </block>
257
+ </next>
258
+ </block>
259
+ </next>
260
+ </block>
261
+ </next>
262
+ </block>
263
+ </next>
264
+ </block>
265
+ </statement>
266
+ <next>
267
+ <block type="events_on_hit">
268
+ <field name="CHAR">frog1</field>
269
+ <statement name="DO">
270
+ <block type="variables_set" inline="false">
271
+ <field name="VAR">回数</field>
272
+ <value name="VALUE">
273
+ <block type="operators_add" inline="true">
274
+ <value name="A">
275
+ <block type="variables_get">
276
+ <field name="VAR">回数</field>
277
+ </block>
278
+ </value>
279
+ <value name="B">
280
+ <block type="math_number">
281
+ <field name="NUM">1</field>
282
+ </block>
283
+ </value>
284
+ </block>
285
+ </value>
286
+ <next>
287
+ <block type="motion_turn_xy">
288
+ <field name="XY">x</field>
289
+ <next>
290
+ <block type="motion_set_x" inline="true">
291
+ <value name="X">
292
+ <block type="math_number">
293
+ <field name="NUM">510</field>
294
+ </block>
295
+ </value>
296
+ </block>
297
+ </next>
298
+ </block>
299
+ </next>
300
+ </block>
301
+ </statement>
302
+ </block>
303
+ </next>
304
+ </block>
305
+ </next>
306
+ </block>
307
+ </statement>
308
+ </block>
309
+ <block type="character_new" y="271" x="-15">
310
+ <field name="NAME">frog1</field>
311
+ <statement name="DO">
312
+ <block type="events_on_start">
313
+ <statement name="DO">
314
+ <block type="control_loop">
315
+ <statement name="DO">
316
+ <block type="control_if" inline="true">
317
+ <value name="COND">
318
+ <block type="operators_compare_eq" inline="true">
319
+ <value name="A">
320
+ <block type="variables_get">
321
+ <field name="VAR">プレイ中</field>
322
+ </block>
323
+ </value>
324
+ <value name="B">
325
+ <block type="operators_false" />
326
+ </value>
327
+ </block>
328
+ </value>
329
+ <statement name="THEN">
330
+ <block type="control_break" />
331
+ </statement>
332
+ <next>
333
+ <block type="control_if_else" inline="true">
334
+ <value name="COND">
335
+ <block type="operators_compare_gte" inline="true">
336
+ <value name="A">
337
+ <block type="sensing_character_property">
338
+ <field name="CHAR">frog1</field>
339
+ <field name="PROPERTY">y</field>
340
+ </block>
341
+ </value>
342
+ <value name="B">
343
+ <block type="sensing_character_property">
344
+ <field name="CHAR">ball1</field>
345
+ <field name="PROPERTY">y</field>
346
+ </block>
347
+ </value>
348
+ </block>
349
+ </value>
350
+ <statement name="THEN">
351
+ <block type="motion_change_y_by" inline="true">
352
+ <value name="Y">
353
+ <block type="math_number">
354
+ <field name="NUM">-15</field>
355
+ </block>
356
+ </value>
357
+ </block>
358
+ </statement>
359
+ <statement name="ELSE">
360
+ <block type="motion_change_y_by" inline="true">
361
+ <value name="Y">
362
+ <block type="math_number">
363
+ <field name="NUM">15</field>
364
+ </block>
365
+ </value>
366
+ </block>
367
+ </statement>
368
+ </block>
369
+ </next>
370
+ </block>
371
+ </statement>
372
+ </block>
373
+ </statement>
374
+ </block>
375
+ </statement>
376
+ </block>
377
+ </xml>
@@ -1,3 +1,3 @@
1
1
  module SmalrubyEditor
2
- VERSION = '0.1.18'
2
+ VERSION = '0.1.19'
3
3
  end
@@ -9131,6 +9131,22 @@ Blockly.getMainWorkspaceMetrics_=function(){var a=Blockly.svgSize();a.width-=Blo
9131
9131
  viewWidth:a.width,contentHeight:c-g,contentWidth:b-f,viewTop:-Blockly.mainWorkspace.scrollY,viewLeft:-Blockly.mainWorkspace.scrollX,contentTop:g,contentLeft:f,absoluteTop:0,absoluteLeft:Blockly.RTL?0:Blockly.Toolbox.width}};
9132
9132
  Blockly.setMainWorkspaceMetrics_=function(a){if(!Blockly.mainWorkspace.scrollbar)throw"Attempt to set main workspace scroll without scrollbars.";var b=Blockly.getMainWorkspaceMetrics_();goog.isNumber(a.x)&&(Blockly.mainWorkspace.scrollX=-b.contentWidth*a.x-b.contentLeft);goog.isNumber(a.y)&&(Blockly.mainWorkspace.scrollY=-b.contentHeight*a.y-b.contentTop);a="translate("+(Blockly.mainWorkspace.scrollX+b.absoluteLeft)+","+(Blockly.mainWorkspace.scrollY+b.absoluteTop)+")";Blockly.mainWorkspace.getCanvas().setAttribute("transform",
9133
9133
  a);Blockly.mainWorkspace.getBubbleCanvas().setAttribute("transform",a)};Blockly.addChangeListener=function(a){return Blockly.bindEvent_(Blockly.mainWorkspace.getCanvas(),"blocklyWorkspaceChange",null,a)};Blockly.removeChangeListener=function(a){Blockly.unbindEvent_(a)};Blockly.getMainWorkspace=function(){return Blockly.mainWorkspace};window.Blockly=Blockly;Blockly.getMainWorkspace=Blockly.getMainWorkspace;Blockly.addChangeListener=Blockly.addChangeListener;Blockly.removeChangeListener=Blockly.removeChangeListener;
9134
+ Blockly.Names.prototype.safeName_ = function(name) {
9135
+ if (!name) {
9136
+ name = 'unnamed';
9137
+ } else {
9138
+ // Unfortunately names in non-latin characters will look like
9139
+ // _E9_9F_B3_E4_B9_90 which is pretty meaningless.
9140
+ // HACK: Rubyでは日本語の変数名を許可しているためencodeURIを行わない。
9141
+ // また、使えない記号を置換する。
9142
+ name = name.replace(/[ !"#$%&'()=\-~^\\|`@{\[+;*:}\]<>,.?\/]/g, '_')
9143
+ // Most languages don't allow names with leading numbers.
9144
+ if ('0123456789'.indexOf(name[0]) != -1) {
9145
+ name = '_' + name;
9146
+ }
9147
+ }
9148
+ return name;
9149
+ };
9134
9150
  // Do not edit this file; automatically generated by build.py.
9135
9151
  "use strict";
9136
9152
 
@@ -15737,6 +15753,25 @@ case end next return until\
15737
15753
  return Blockly.Ruby.characterMethodCall_('turn');
15738
15754
  };
15739
15755
 
15756
+ Blockly.Blocks['motion_turn_xy'] = {
15757
+ init: function() {
15758
+ var dropdown;
15759
+ dropdown = [['水平(X)', 'x'], ['垂直(Y)', 'y']];
15760
+ this.setHelpUrl('');
15761
+ this.setColour(225);
15762
+ this.appendDummyInput().appendField(new Blockly.FieldDropdown(dropdown), 'XY').appendField('方向に跳ね返る');
15763
+ this.setPreviousStatement(true);
15764
+ this.setNextStatement(true);
15765
+ return this.setTooltip('');
15766
+ }
15767
+ };
15768
+
15769
+ Blockly.Ruby['motion_turn_xy'] = function(block) {
15770
+ var xy;
15771
+ xy = this.getFieldValue('XY');
15772
+ return Blockly.Ruby.characterMethodCall_("turn_" + xy);
15773
+ };
15774
+
15740
15775
  Blockly.Blocks['motion_set_rotation_style'] = {
15741
15776
  init: function() {
15742
15777
  var dropdown;
@@ -16605,6 +16640,7 @@ case end next return until\
16605
16640
 
16606
16641
 
16607
16642
 
16643
+
16608
16644
 
16609
16645
 
16610
16646
  ;
@@ -5146,20 +5146,20 @@ body {
5146
5146
  #\:e .blocklyTreeRow {
5147
5147
  padding-top: 0.25em;
5148
5148
  padding-bottom: 0.25em;
5149
- border-left: 0.75em solid #cc0044; }
5149
+ border-left: 0.75em solid #cc0066; }
5150
5150
  #\:e .blocklyTreeRow.blocklyTreeSelected {
5151
5151
  color: white;
5152
5152
  font-weight: bold;
5153
- background-color: #ff0055 !important; }
5153
+ background-color: #ff0080 !important; }
5154
5154
 
5155
5155
  #\:f .blocklyTreeRow {
5156
5156
  padding-top: 0.25em;
5157
5157
  padding-bottom: 0.25em;
5158
- border-left: 0.75em solid #006dcc; }
5158
+ border-left: 0.75em solid #cc0044; }
5159
5159
  #\:f .blocklyTreeRow.blocklyTreeSelected {
5160
5160
  color: white;
5161
5161
  font-weight: bold;
5162
- background-color: #0088ff !important; }
5162
+ background-color: #ff0055 !important; }
5163
5163
 
5164
5164
  #\:g .blocklyTreeRow {
5165
5165
  padding-top: 0.25em;
@@ -5205,3 +5205,12 @@ body {
5205
5205
  color: white;
5206
5206
  font-weight: bold;
5207
5207
  background-color: #0088ff !important; }
5208
+
5209
+ #\:l .blocklyTreeRow {
5210
+ padding-top: 0.25em;
5211
+ padding-bottom: 0.25em;
5212
+ border-left: 0.75em solid #006dcc; }
5213
+ #\:l .blocklyTreeRow.blocklyTreeSelected {
5214
+ color: white;
5215
+ font-weight: bold;
5216
+ background-color: #0088ff !important; }
@@ -1 +1 @@
1
- {"files":{"default-5d1886100d7c8961e9962bbc4bb0c714.xml":{"logical_path":"default.xml","mtime":"2014-02-14T01:28:48+09:00","size":5017,"digest":"5d1886100d7c8961e9962bbc4bb0c714"},"rgb_led_anode-91225bef2a8b97f1cefee862a0619b91.xml":{"logical_path":"rgb_led_anode.xml","mtime":"2014-02-11T14:17:03+09:00","size":3805,"digest":"91225bef2a8b97f1cefee862a0619b91"},"favicon-a37c90b368fd8ed436cb8f9e9396465c.ico":{"logical_path":"favicon.ico","mtime":"2014-01-21T03:18:02+09:00","size":5430,"digest":"a37c90b368fd8ed436cb8f9e9396465c"},"application-735e172a0df828da16d22f5d3c26671f.js":{"logical_path":"application.js","mtime":"2014-02-19T18:22:09+09:00","size":1440213,"digest":"735e172a0df828da16d22f5d3c26671f"},"application-64a390efe879c386a5950515064f062d.css":{"logical_path":"application.css","mtime":"2014-02-19T14:32:55+09:00","size":119186,"digest":"64a390efe879c386a5950515064f062d"},"jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif":{"logical_path":"jquery-ui/animated-overlay.gif","mtime":"2014-02-04T09:35:48+09:00","size":1738,"digest":"c48c87b7a95316f4698484e3b85ee4aa"},"jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png":{"logical_path":"jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png","mtime":"2014-02-04T09:35:48+09:00","size":180,"digest":"58b63faadd031ca3db096dfdffd90224"},"jquery-ui/ui-bg_flat_75_ffffff_40x100-937399e8b369d64aa075d13a82c00112.png":{"logical_path":"jquery-ui/ui-bg_flat_75_ffffff_40x100.png","mtime":"2014-02-04T09:35:48+09:00","size":178,"digest":"937399e8b369d64aa075d13a82c00112"},"jquery-ui/ui-bg_glass_55_fbf9ee_1x400-a8c503e0f42a081a92a473b0d30ac6cf.png":{"logical_path":"jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":120,"digest":"a8c503e0f42a081a92a473b0d30ac6cf"},"jquery-ui/ui-bg_glass_65_ffffff_1x400-ddcbfe385abc3947937caa0b44e2f5d2.png":{"logical_path":"jquery-ui/ui-bg_glass_65_ffffff_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":105,"digest":"ddcbfe385abc3947937caa0b44e2f5d2"},"jquery-ui/ui-bg_glass_75_dadada_1x400-14dd4a9ad1f21d8c4c7e673ddfb0806f.png":{"logical_path":"jquery-ui/ui-bg_glass_75_dadada_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":111,"digest":"14dd4a9ad1f21d8c4c7e673ddfb0806f"},"jquery-ui/ui-bg_glass_75_e6e6e6_1x400-a43dfabb23b0a987b567b282bad68346.png":{"logical_path":"jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":110,"digest":"a43dfabb23b0a987b567b282bad68346"},"jquery-ui/ui-bg_glass_95_fef1ec_1x400-31c0c791a756266043ee8ea61dacb36a.png":{"logical_path":"jquery-ui/ui-bg_glass_95_fef1ec_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":119,"digest":"31c0c791a756266043ee8ea61dacb36a"},"jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100-33edbdb0d2fcebd2a65c2041a28533da.png":{"logical_path":"jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png","mtime":"2014-02-04T09:35:48+09:00","size":101,"digest":"33edbdb0d2fcebd2a65c2041a28533da"},"jquery-ui/ui-icons_222222_256x240-890385424135de1513f00cbecfb7f990.png":{"logical_path":"jquery-ui/ui-icons_222222_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"890385424135de1513f00cbecfb7f990"},"jquery-ui/ui-icons_2e83ff_256x240-824705ca4aa2610434a358fe4018c9c6.png":{"logical_path":"jquery-ui/ui-icons_2e83ff_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"824705ca4aa2610434a358fe4018c9c6"},"jquery-ui/ui-icons_454545_256x240-254e054f6df453dfac49efbc8b78f79d.png":{"logical_path":"jquery-ui/ui-icons_454545_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"254e054f6df453dfac49efbc8b78f79d"},"jquery-ui/ui-icons_888888_256x240-57c441f87c4289a5372823f506c1182d.png":{"logical_path":"jquery-ui/ui-icons_888888_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"57c441f87c4289a5372823f506c1182d"},"jquery-ui/ui-icons_cd0a0a_256x240-261647ac915575f3981ded254ae8d43e.png":{"logical_path":"jquery-ui/ui-icons_cd0a0a_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"261647ac915575f3981ded254ae8d43e"},"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif":{"logical_path":"loading.gif","mtime":"2014-01-03T14:44:55+09:00","size":3897,"digest":"e8e6dd7833131c92a6c3b9c8ccc6a6ac"},"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif":{"logical_path":"progressbar.gif","mtime":"2014-01-03T14:44:55+09:00","size":3323,"digest":"82023a146fba2a0f6d925629ed2b09c5"},"application-0047adbc0fb7a529ef7a41b5e0e7d097.js":{"logical_path":"application.js","mtime":"2014-02-20T03:12:12+09:00","size":1441568,"digest":"0047adbc0fb7a529ef7a41b5e0e7d097"},"application-42aa660a3233c7738b7578d30ba040b3.js":{"logical_path":"application.js","mtime":"2014-02-22T15:25:11+09:00","size":1441708,"digest":"42aa660a3233c7738b7578d30ba040b3"},"application-66b65154e7b5dcfe67fa164db6fc5f51.js":{"logical_path":"application.js","mtime":"2014-02-23T21:53:43+09:00","size":1441898,"digest":"66b65154e7b5dcfe67fa164db6fc5f51"},"application-8bfffad1222d4e198f3c7ccc1cbd774f.js":{"logical_path":"application.js","mtime":"2014-02-27T01:28:32+09:00","size":1442504,"digest":"8bfffad1222d4e198f3c7ccc1cbd774f"},"application-4f747690ebc8ec4815ae36021fdb2c44.js":{"logical_path":"application.js","mtime":"2014-03-07T12:36:30+09:00","size":1447094,"digest":"4f747690ebc8ec4815ae36021fdb2c44"},"application-28b7bed56c5389dfa372e972c75b6676.css":{"logical_path":"application.css","mtime":"2014-03-07T10:27:39+09:00","size":119378,"digest":"28b7bed56c5389dfa372e972c75b6676"},"application-3ee566927dc437f1406e5e903da1baf5.js":{"logical_path":"application.js","mtime":"2014-04-30T00:15:32+09:00","size":1452218,"digest":"3ee566927dc437f1406e5e903da1baf5"},"application-5f1777e683ca5d3cf4e0f0374eab6fac.css":{"logical_path":"application.css","mtime":"2014-03-29T10:25:16+09:00","size":120345,"digest":"5f1777e683ca5d3cf4e0f0374eab6fac"},"application-53d651da3309caa498cc0ca6616dbead.css":{"logical_path":"application.css","mtime":"2014-05-06T14:59:20+09:00","size":118430,"digest":"53d651da3309caa498cc0ca6616dbead"},"application-0b3c70107ad81ea9fcda6d7d921bd8cf.js":{"logical_path":"application.js","mtime":"2014-04-30T02:04:36+09:00","size":1452582,"digest":"0b3c70107ad81ea9fcda6d7d921bd8cf"},"application-c2d6a82134037eb9a7f6c7d13d2657db.js":{"logical_path":"application.js","mtime":"2014-05-06T21:22:51+09:00","size":1455113,"digest":"c2d6a82134037eb9a7f6c7d13d2657db"},"application-669cbc2df60729c4b12d739af7595cc6.js":{"logical_path":"application.js","mtime":"2014-05-08T04:10:12+09:00","size":1455352,"digest":"669cbc2df60729c4b12d739af7595cc6"},"application-6579eaebb20aaacfc143d63c77bf4199.js":{"logical_path":"application.js","mtime":"2014-05-11T03:54:51+09:00","size":1455344,"digest":"6579eaebb20aaacfc143d63c77bf4199"},"application-f112e2e4edd69b09d5d1cb92c33144d6.js":{"logical_path":"application.js","mtime":"2014-05-15T23:54:56+09:00","size":1455344,"digest":"f112e2e4edd69b09d5d1cb92c33144d6"},"application-c8214e05b402c742494330b5e957eb38.js":{"logical_path":"application.js","mtime":"2014-05-16T02:08:20+09:00","size":1455681,"digest":"c8214e05b402c742494330b5e957eb38"},"application-c45776825263b5fa7167e55a3b12252c.js":{"logical_path":"application.js","mtime":"2014-05-16T08:50:24+09:00","size":1455659,"digest":"c45776825263b5fa7167e55a3b12252c"},"application-0f9a877d144f84320a10770dfdc5ddd8.js":{"logical_path":"application.js","mtime":"2014-05-16T22:21:05+09:00","size":1455877,"digest":"0f9a877d144f84320a10770dfdc5ddd8"},"application-d60babdd5a50329b329487cf793c2e29.js":{"logical_path":"application.js","mtime":"2014-05-30T19:26:09+09:00","size":1455891,"digest":"d60babdd5a50329b329487cf793c2e29"},"application-dc485e2270d6c5fce20c149d1e2c4f8d.js":{"logical_path":"application.js","mtime":"2014-06-01T22:25:31+09:00","size":1457970,"digest":"dc485e2270d6c5fce20c149d1e2c4f8d"},"application-51ab300acd1779bfba20b099e7000b7e.css":{"logical_path":"application.css","mtime":"2014-06-01T22:26:47+09:00","size":118664,"digest":"51ab300acd1779bfba20b099e7000b7e"},"application-413cdca52651d449a8bc24550f6db35c.js":{"logical_path":"application.js","mtime":"2014-06-08T21:19:30+09:00","size":1462683,"digest":"413cdca52651d449a8bc24550f6db35c"},"application-7f560d8d6d224f87269691c57ca9a376.css":{"logical_path":"application.css","mtime":"2014-06-08T13:07:08+09:00","size":119280,"digest":"7f560d8d6d224f87269691c57ca9a376"},"application-842ac8f5aa3fcc87bbb0e8b3a0fef5d7.js":{"logical_path":"application.js","mtime":"2014-06-08T22:17:54+09:00","size":1462685,"digest":"842ac8f5aa3fcc87bbb0e8b3a0fef5d7"},"application-b31ceba36a60591e488903231db4cb37.css":{"logical_path":"application.css","mtime":"2014-06-15T04:27:57+09:00","size":119322,"digest":"b31ceba36a60591e488903231db4cb37"}},"assets":{"default.xml":"default-5d1886100d7c8961e9962bbc4bb0c714.xml","rgb_led_anode.xml":"rgb_led_anode-91225bef2a8b97f1cefee862a0619b91.xml","favicon.ico":"favicon-a37c90b368fd8ed436cb8f9e9396465c.ico","application.js":"application-842ac8f5aa3fcc87bbb0e8b3a0fef5d7.js","application.css":"application-b31ceba36a60591e488903231db4cb37.css","jquery-ui/animated-overlay.gif":"jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif","jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png":"jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png","jquery-ui/ui-bg_flat_75_ffffff_40x100.png":"jquery-ui/ui-bg_flat_75_ffffff_40x100-937399e8b369d64aa075d13a82c00112.png","jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png":"jquery-ui/ui-bg_glass_55_fbf9ee_1x400-a8c503e0f42a081a92a473b0d30ac6cf.png","jquery-ui/ui-bg_glass_65_ffffff_1x400.png":"jquery-ui/ui-bg_glass_65_ffffff_1x400-ddcbfe385abc3947937caa0b44e2f5d2.png","jquery-ui/ui-bg_glass_75_dadada_1x400.png":"jquery-ui/ui-bg_glass_75_dadada_1x400-14dd4a9ad1f21d8c4c7e673ddfb0806f.png","jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png":"jquery-ui/ui-bg_glass_75_e6e6e6_1x400-a43dfabb23b0a987b567b282bad68346.png","jquery-ui/ui-bg_glass_95_fef1ec_1x400.png":"jquery-ui/ui-bg_glass_95_fef1ec_1x400-31c0c791a756266043ee8ea61dacb36a.png","jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png":"jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100-33edbdb0d2fcebd2a65c2041a28533da.png","jquery-ui/ui-icons_222222_256x240.png":"jquery-ui/ui-icons_222222_256x240-890385424135de1513f00cbecfb7f990.png","jquery-ui/ui-icons_2e83ff_256x240.png":"jquery-ui/ui-icons_2e83ff_256x240-824705ca4aa2610434a358fe4018c9c6.png","jquery-ui/ui-icons_454545_256x240.png":"jquery-ui/ui-icons_454545_256x240-254e054f6df453dfac49efbc8b78f79d.png","jquery-ui/ui-icons_888888_256x240.png":"jquery-ui/ui-icons_888888_256x240-57c441f87c4289a5372823f506c1182d.png","jquery-ui/ui-icons_cd0a0a_256x240.png":"jquery-ui/ui-icons_cd0a0a_256x240-261647ac915575f3981ded254ae8d43e.png","loading.gif":"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif","progressbar.gif":"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif"}}
1
+ {"files":{"default-5d1886100d7c8961e9962bbc4bb0c714.xml":{"logical_path":"default.xml","mtime":"2014-02-14T01:28:48+09:00","size":5017,"digest":"5d1886100d7c8961e9962bbc4bb0c714"},"rgb_led_anode-91225bef2a8b97f1cefee862a0619b91.xml":{"logical_path":"rgb_led_anode.xml","mtime":"2014-02-11T14:17:03+09:00","size":3805,"digest":"91225bef2a8b97f1cefee862a0619b91"},"favicon-a37c90b368fd8ed436cb8f9e9396465c.ico":{"logical_path":"favicon.ico","mtime":"2014-01-21T03:18:02+09:00","size":5430,"digest":"a37c90b368fd8ed436cb8f9e9396465c"},"application-735e172a0df828da16d22f5d3c26671f.js":{"logical_path":"application.js","mtime":"2014-02-19T18:22:09+09:00","size":1440213,"digest":"735e172a0df828da16d22f5d3c26671f"},"application-64a390efe879c386a5950515064f062d.css":{"logical_path":"application.css","mtime":"2014-02-19T14:32:55+09:00","size":119186,"digest":"64a390efe879c386a5950515064f062d"},"jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif":{"logical_path":"jquery-ui/animated-overlay.gif","mtime":"2014-02-04T09:35:48+09:00","size":1738,"digest":"c48c87b7a95316f4698484e3b85ee4aa"},"jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png":{"logical_path":"jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png","mtime":"2014-02-04T09:35:48+09:00","size":180,"digest":"58b63faadd031ca3db096dfdffd90224"},"jquery-ui/ui-bg_flat_75_ffffff_40x100-937399e8b369d64aa075d13a82c00112.png":{"logical_path":"jquery-ui/ui-bg_flat_75_ffffff_40x100.png","mtime":"2014-02-04T09:35:48+09:00","size":178,"digest":"937399e8b369d64aa075d13a82c00112"},"jquery-ui/ui-bg_glass_55_fbf9ee_1x400-a8c503e0f42a081a92a473b0d30ac6cf.png":{"logical_path":"jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":120,"digest":"a8c503e0f42a081a92a473b0d30ac6cf"},"jquery-ui/ui-bg_glass_65_ffffff_1x400-ddcbfe385abc3947937caa0b44e2f5d2.png":{"logical_path":"jquery-ui/ui-bg_glass_65_ffffff_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":105,"digest":"ddcbfe385abc3947937caa0b44e2f5d2"},"jquery-ui/ui-bg_glass_75_dadada_1x400-14dd4a9ad1f21d8c4c7e673ddfb0806f.png":{"logical_path":"jquery-ui/ui-bg_glass_75_dadada_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":111,"digest":"14dd4a9ad1f21d8c4c7e673ddfb0806f"},"jquery-ui/ui-bg_glass_75_e6e6e6_1x400-a43dfabb23b0a987b567b282bad68346.png":{"logical_path":"jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":110,"digest":"a43dfabb23b0a987b567b282bad68346"},"jquery-ui/ui-bg_glass_95_fef1ec_1x400-31c0c791a756266043ee8ea61dacb36a.png":{"logical_path":"jquery-ui/ui-bg_glass_95_fef1ec_1x400.png","mtime":"2014-02-04T09:35:48+09:00","size":119,"digest":"31c0c791a756266043ee8ea61dacb36a"},"jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100-33edbdb0d2fcebd2a65c2041a28533da.png":{"logical_path":"jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png","mtime":"2014-02-04T09:35:48+09:00","size":101,"digest":"33edbdb0d2fcebd2a65c2041a28533da"},"jquery-ui/ui-icons_222222_256x240-890385424135de1513f00cbecfb7f990.png":{"logical_path":"jquery-ui/ui-icons_222222_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"890385424135de1513f00cbecfb7f990"},"jquery-ui/ui-icons_2e83ff_256x240-824705ca4aa2610434a358fe4018c9c6.png":{"logical_path":"jquery-ui/ui-icons_2e83ff_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"824705ca4aa2610434a358fe4018c9c6"},"jquery-ui/ui-icons_454545_256x240-254e054f6df453dfac49efbc8b78f79d.png":{"logical_path":"jquery-ui/ui-icons_454545_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"254e054f6df453dfac49efbc8b78f79d"},"jquery-ui/ui-icons_888888_256x240-57c441f87c4289a5372823f506c1182d.png":{"logical_path":"jquery-ui/ui-icons_888888_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"57c441f87c4289a5372823f506c1182d"},"jquery-ui/ui-icons_cd0a0a_256x240-261647ac915575f3981ded254ae8d43e.png":{"logical_path":"jquery-ui/ui-icons_cd0a0a_256x240.png","mtime":"2014-02-04T09:35:48+09:00","size":4369,"digest":"261647ac915575f3981ded254ae8d43e"},"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif":{"logical_path":"loading.gif","mtime":"2014-01-03T14:44:55+09:00","size":3897,"digest":"e8e6dd7833131c92a6c3b9c8ccc6a6ac"},"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif":{"logical_path":"progressbar.gif","mtime":"2014-01-03T14:44:55+09:00","size":3323,"digest":"82023a146fba2a0f6d925629ed2b09c5"},"application-0047adbc0fb7a529ef7a41b5e0e7d097.js":{"logical_path":"application.js","mtime":"2014-02-20T03:12:12+09:00","size":1441568,"digest":"0047adbc0fb7a529ef7a41b5e0e7d097"},"application-42aa660a3233c7738b7578d30ba040b3.js":{"logical_path":"application.js","mtime":"2014-02-22T15:25:11+09:00","size":1441708,"digest":"42aa660a3233c7738b7578d30ba040b3"},"application-66b65154e7b5dcfe67fa164db6fc5f51.js":{"logical_path":"application.js","mtime":"2014-02-23T21:53:43+09:00","size":1441898,"digest":"66b65154e7b5dcfe67fa164db6fc5f51"},"application-8bfffad1222d4e198f3c7ccc1cbd774f.js":{"logical_path":"application.js","mtime":"2014-02-27T01:28:32+09:00","size":1442504,"digest":"8bfffad1222d4e198f3c7ccc1cbd774f"},"application-4f747690ebc8ec4815ae36021fdb2c44.js":{"logical_path":"application.js","mtime":"2014-03-07T12:36:30+09:00","size":1447094,"digest":"4f747690ebc8ec4815ae36021fdb2c44"},"application-28b7bed56c5389dfa372e972c75b6676.css":{"logical_path":"application.css","mtime":"2014-03-07T10:27:39+09:00","size":119378,"digest":"28b7bed56c5389dfa372e972c75b6676"},"application-3ee566927dc437f1406e5e903da1baf5.js":{"logical_path":"application.js","mtime":"2014-04-30T00:15:32+09:00","size":1452218,"digest":"3ee566927dc437f1406e5e903da1baf5"},"application-5f1777e683ca5d3cf4e0f0374eab6fac.css":{"logical_path":"application.css","mtime":"2014-03-29T10:25:16+09:00","size":120345,"digest":"5f1777e683ca5d3cf4e0f0374eab6fac"},"application-53d651da3309caa498cc0ca6616dbead.css":{"logical_path":"application.css","mtime":"2014-05-06T14:59:20+09:00","size":118430,"digest":"53d651da3309caa498cc0ca6616dbead"},"application-0b3c70107ad81ea9fcda6d7d921bd8cf.js":{"logical_path":"application.js","mtime":"2014-04-30T02:04:36+09:00","size":1452582,"digest":"0b3c70107ad81ea9fcda6d7d921bd8cf"},"application-c2d6a82134037eb9a7f6c7d13d2657db.js":{"logical_path":"application.js","mtime":"2014-05-06T21:22:51+09:00","size":1455113,"digest":"c2d6a82134037eb9a7f6c7d13d2657db"},"application-669cbc2df60729c4b12d739af7595cc6.js":{"logical_path":"application.js","mtime":"2014-05-08T04:10:12+09:00","size":1455352,"digest":"669cbc2df60729c4b12d739af7595cc6"},"application-6579eaebb20aaacfc143d63c77bf4199.js":{"logical_path":"application.js","mtime":"2014-05-11T03:54:51+09:00","size":1455344,"digest":"6579eaebb20aaacfc143d63c77bf4199"},"application-f112e2e4edd69b09d5d1cb92c33144d6.js":{"logical_path":"application.js","mtime":"2014-05-15T23:54:56+09:00","size":1455344,"digest":"f112e2e4edd69b09d5d1cb92c33144d6"},"application-c8214e05b402c742494330b5e957eb38.js":{"logical_path":"application.js","mtime":"2014-05-16T02:08:20+09:00","size":1455681,"digest":"c8214e05b402c742494330b5e957eb38"},"application-c45776825263b5fa7167e55a3b12252c.js":{"logical_path":"application.js","mtime":"2014-05-16T08:50:24+09:00","size":1455659,"digest":"c45776825263b5fa7167e55a3b12252c"},"application-0f9a877d144f84320a10770dfdc5ddd8.js":{"logical_path":"application.js","mtime":"2014-05-16T22:21:05+09:00","size":1455877,"digest":"0f9a877d144f84320a10770dfdc5ddd8"},"application-d60babdd5a50329b329487cf793c2e29.js":{"logical_path":"application.js","mtime":"2014-05-30T19:26:09+09:00","size":1455891,"digest":"d60babdd5a50329b329487cf793c2e29"},"application-dc485e2270d6c5fce20c149d1e2c4f8d.js":{"logical_path":"application.js","mtime":"2014-06-01T22:25:31+09:00","size":1457970,"digest":"dc485e2270d6c5fce20c149d1e2c4f8d"},"application-51ab300acd1779bfba20b099e7000b7e.css":{"logical_path":"application.css","mtime":"2014-06-01T22:26:47+09:00","size":118664,"digest":"51ab300acd1779bfba20b099e7000b7e"},"application-413cdca52651d449a8bc24550f6db35c.js":{"logical_path":"application.js","mtime":"2014-06-08T21:19:30+09:00","size":1462683,"digest":"413cdca52651d449a8bc24550f6db35c"},"application-7f560d8d6d224f87269691c57ca9a376.css":{"logical_path":"application.css","mtime":"2014-06-08T13:07:08+09:00","size":119280,"digest":"7f560d8d6d224f87269691c57ca9a376"},"application-842ac8f5aa3fcc87bbb0e8b3a0fef5d7.js":{"logical_path":"application.js","mtime":"2014-06-08T22:17:54+09:00","size":1462685,"digest":"842ac8f5aa3fcc87bbb0e8b3a0fef5d7"},"application-b31ceba36a60591e488903231db4cb37.css":{"logical_path":"application.css","mtime":"2014-06-15T04:27:57+09:00","size":119322,"digest":"b31ceba36a60591e488903231db4cb37"},"application-acf953339e4b5c31b5d6060375b13a44.js":{"logical_path":"application.js","mtime":"2014-07-13T16:40:43+09:00","size":1463899,"digest":"acf953339e4b5c31b5d6060375b13a44"},"application-e9d089df8f23954c49647ab7af8481dc.css":{"logical_path":"application.css","mtime":"2014-07-13T16:40:43+09:00","size":119556,"digest":"e9d089df8f23954c49647ab7af8481dc"}},"assets":{"default.xml":"default-5d1886100d7c8961e9962bbc4bb0c714.xml","rgb_led_anode.xml":"rgb_led_anode-91225bef2a8b97f1cefee862a0619b91.xml","favicon.ico":"favicon-a37c90b368fd8ed436cb8f9e9396465c.ico","application.js":"application-acf953339e4b5c31b5d6060375b13a44.js","application.css":"application-e9d089df8f23954c49647ab7af8481dc.css","jquery-ui/animated-overlay.gif":"jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif","jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png":"jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png","jquery-ui/ui-bg_flat_75_ffffff_40x100.png":"jquery-ui/ui-bg_flat_75_ffffff_40x100-937399e8b369d64aa075d13a82c00112.png","jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png":"jquery-ui/ui-bg_glass_55_fbf9ee_1x400-a8c503e0f42a081a92a473b0d30ac6cf.png","jquery-ui/ui-bg_glass_65_ffffff_1x400.png":"jquery-ui/ui-bg_glass_65_ffffff_1x400-ddcbfe385abc3947937caa0b44e2f5d2.png","jquery-ui/ui-bg_glass_75_dadada_1x400.png":"jquery-ui/ui-bg_glass_75_dadada_1x400-14dd4a9ad1f21d8c4c7e673ddfb0806f.png","jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png":"jquery-ui/ui-bg_glass_75_e6e6e6_1x400-a43dfabb23b0a987b567b282bad68346.png","jquery-ui/ui-bg_glass_95_fef1ec_1x400.png":"jquery-ui/ui-bg_glass_95_fef1ec_1x400-31c0c791a756266043ee8ea61dacb36a.png","jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png":"jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100-33edbdb0d2fcebd2a65c2041a28533da.png","jquery-ui/ui-icons_222222_256x240.png":"jquery-ui/ui-icons_222222_256x240-890385424135de1513f00cbecfb7f990.png","jquery-ui/ui-icons_2e83ff_256x240.png":"jquery-ui/ui-icons_2e83ff_256x240-824705ca4aa2610434a358fe4018c9c6.png","jquery-ui/ui-icons_454545_256x240.png":"jquery-ui/ui-icons_454545_256x240-254e054f6df453dfac49efbc8b78f79d.png","jquery-ui/ui-icons_888888_256x240.png":"jquery-ui/ui-icons_888888_256x240-57c441f87c4289a5372823f506c1182d.png","jquery-ui/ui-icons_cd0a0a_256x240.png":"jquery-ui/ui-icons_cd0a0a_256x240-261647ac915575f3981ded254ae8d43e.png","loading.gif":"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif","progressbar.gif":"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif"}}
@@ -68,7 +68,7 @@ Gem::Specification.new do |spec|
68
68
  ['launchy'],
69
69
  ['mime-types', '~> 1.16'],
70
70
  ['haml-rails'],
71
- ['smalruby', '~> 0.0.26'],
71
+ ['smalruby', '~> 0.0.27'],
72
72
  ]
73
73
  runtime_dependencies << ['therubyracer'] unless is_windows
74
74
  runtime_dependencies.each do |args|
@@ -0,0 +1,76 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+ require_relative 'shared/block_examples'
4
+
5
+ # rubocop:disable EmptyLines, LineLength
6
+
7
+ describe RubyToBlock::Block::MotionTurnXy, to_blocks: true do
8
+ _parts = <<-EOS
9
+ turn_x
10
+ turn_y
11
+ EOS
12
+ describe compact_source_code(_parts), on_start_data: true do
13
+ __parts = _parts
14
+ let(:parts) { __parts }
15
+
16
+ it '結果が正しいこと' do
17
+ should eq_block_xml(<<-XML)
18
+ <block type="motion_turn_xy">
19
+ <field name="XY">x</field>
20
+ <next>
21
+ <block type="motion_turn_xy">
22
+ <field name="XY">y</field>
23
+ </block>
24
+ </next>
25
+ </block>
26
+ XML
27
+ end
28
+ end
29
+
30
+ _parts = <<-EOS
31
+ car1.turn_x
32
+ car1.turn_y
33
+ EOS
34
+ describe compact_source_code(_parts), character_new_data: true do
35
+ __parts = _parts
36
+ let(:parts) { __parts }
37
+
38
+ it '結果が正しいこと' do
39
+ should eq_block_xml(<<-XML)
40
+ <field name="NAME">car1</field>
41
+ <statement name="DO">
42
+ <block type="motion_turn_xy">
43
+ <field name="XY">x</field>
44
+ <next>
45
+ <block type="motion_turn_xy">
46
+ <field name="XY">y</field>
47
+ </block>
48
+ </next>
49
+ </block>
50
+ </statement>
51
+ XML
52
+ end
53
+ end
54
+
55
+ _parts = <<-EOS
56
+ turn_x
57
+ turn_y
58
+ EOS
59
+ describe compact_source_code(_parts) do
60
+ __parts = _parts
61
+ let(:data) { __parts }
62
+
63
+ it '結果が正しいこと' do
64
+ should eq_block_xml(<<-XML)
65
+ <block type="ruby_statement">
66
+ <field name="STATEMENT">turn_x</field>
67
+ <next>
68
+ <block type="ruby_statement">
69
+ <field name="STATEMENT">turn_y</field>
70
+ </block>
71
+ </next>
72
+ </block>
73
+ XML
74
+ end
75
+ end
76
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smalruby-editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouji Takao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-28 00:00:00.000000000 Z
11
+ date: 2014-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - ~>
186
186
  - !ruby/object:Gem::Version
187
- version: 0.0.26
187
+ version: 0.0.27
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ~>
193
193
  - !ruby/object:Gem::Version
194
- version: 0.0.26
194
+ version: 0.0.27
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: therubyracer
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -277,6 +277,7 @@ files:
277
277
  - app/assets/javascripts/blocks/sound.js.coffee.erb
278
278
  - app/assets/javascripts/collections/.keep
279
279
  - app/assets/javascripts/collections/character_set.js.coffee
280
+ - app/assets/javascripts/fix_blockly.js
280
281
  - app/assets/javascripts/generators/ruby.js.coffee.erb
281
282
  - app/assets/javascripts/models/.keep
282
283
  - app/assets/javascripts/models/character.js.coffee
@@ -359,6 +360,7 @@ files:
359
360
  - app/models/concerns/ruby_to_block/block/motion_set_y.rb
360
361
  - app/models/concerns/ruby_to_block/block/motion_turn.rb
361
362
  - app/models/concerns/ruby_to_block/block/motion_turn_if_reach_wall.rb
363
+ - app/models/concerns/ruby_to_block/block/motion_turn_xy.rb
362
364
  - app/models/concerns/ruby_to_block/block/null.rb
363
365
  - app/models/concerns/ruby_to_block/block/operators_compare.rb
364
366
  - app/models/concerns/ruby_to_block/block/operators_false.rb
@@ -415,6 +417,7 @@ files:
415
417
  - db/seeds.rb
416
418
  - demos/car_chase.rb.xml
417
419
  - demos/hardware_led.rb.xml
420
+ - demos/pong.rb.xml
418
421
  - demos/rgb_led_anode.rb.xml
419
422
  - demos/star.rb.xml
420
423
  - lib/assets/.keep
@@ -583,6 +586,7 @@ files:
583
586
  - spec/models/concerns/ruby_to_block/block/motion_reach_wall_spec.rb
584
587
  - spec/models/concerns/ruby_to_block/block/motion_spec.rb
585
588
  - spec/models/concerns/ruby_to_block/block/motion_turn_spec.rb
589
+ - spec/models/concerns/ruby_to_block/block/motion_turn_xy_spec.rb
586
590
  - spec/models/concerns/ruby_to_block/block/require_smalruby_spec.rb
587
591
  - spec/models/concerns/ruby_to_block/block/ruby_comment_spec.rb
588
592
  - spec/models/concerns/ruby_to_block/block/ruby_statement_spec.rb
@@ -608,10 +612,10 @@ files:
608
612
  - vendor/assets/javascripts/blockly/msg/js/ja.js
609
613
  - vendor/assets/javascripts/jquery.blockUI.js
610
614
  - vendor/assets/stylesheets/.keep
611
- - public/assets/application-842ac8f5aa3fcc87bbb0e8b3a0fef5d7.js
612
- - public/assets/application-842ac8f5aa3fcc87bbb0e8b3a0fef5d7.js.gz
613
- - public/assets/application-b31ceba36a60591e488903231db4cb37.css
614
- - public/assets/application-b31ceba36a60591e488903231db4cb37.css.gz
615
+ - public/assets/application-acf953339e4b5c31b5d6060375b13a44.js
616
+ - public/assets/application-acf953339e4b5c31b5d6060375b13a44.js.gz
617
+ - public/assets/application-e9d089df8f23954c49647ab7af8481dc.css
618
+ - public/assets/application-e9d089df8f23954c49647ab7af8481dc.css.gz
615
619
  - public/assets/favicon-a37c90b368fd8ed436cb8f9e9396465c.ico
616
620
  - public/assets/jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif
617
621
  - public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png
@@ -762,6 +766,7 @@ test_files:
762
766
  - spec/models/concerns/ruby_to_block/block/motion_reach_wall_spec.rb
763
767
  - spec/models/concerns/ruby_to_block/block/motion_spec.rb
764
768
  - spec/models/concerns/ruby_to_block/block/motion_turn_spec.rb
769
+ - spec/models/concerns/ruby_to_block/block/motion_turn_xy_spec.rb
765
770
  - spec/models/concerns/ruby_to_block/block/require_smalruby_spec.rb
766
771
  - spec/models/concerns/ruby_to_block/block/ruby_comment_spec.rb
767
772
  - spec/models/concerns/ruby_to_block/block/ruby_statement_spec.rb