smalruby-editor 0.1.18 → 0.1.19

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.

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