smalruby-editor 0.2.4 → 0.2.5

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.

Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -0
  3. data/Guardfile +8 -1
  4. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +11 -152
  5. data/app/assets/javascripts/msg/en_us.js +5 -5
  6. data/app/assets/javascripts/msg/ja.js +5 -5
  7. data/app/assets/javascripts/views/signin_modal_view.js.coffee.erb +0 -0
  8. data/app/controllers/sessions_controller.rb +0 -0
  9. data/app/helpers/sessions_helper.rb +4 -0
  10. data/app/models/concerns/ruby_to_block/block/hardware_operation.rb +11 -0
  11. data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_s1_led_turn_on_or_off.rb → hardware_smalrubot_action.rb} +8 -5
  12. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_action_with_sec.rb +25 -0
  13. data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_v3_motor_speed.rb → hardware_smalrubot_dc_motor_power_ratio.rb} +8 -5
  14. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_dc_motor_set_power_ratio.rb +23 -0
  15. data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_v3_led_turn_on_or_off.rb → hardware_smalrubot_led_turn_on_or_off.rb} +8 -5
  16. data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_s1_ir_photoreflector_value.rb → hardware_smalrubot_sensor_value.rb} +8 -6
  17. data/app/views/editor/_toolbox_default.html.haml +4 -7
  18. data/app/views/editor/index.html.haml +7 -18
  19. data/bin/spring +0 -0
  20. data/config/application.rb +1 -0
  21. data/lib/smalruby_editor/version.rb +1 -1
  22. data/smalruby-editor.gemspec +1 -1
  23. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature +8 -8
  24. data/spec/acceptance/block_mode/blocks/hardware/{smalrubot_v3_motor_speed.feature → smalrubot_v3_dc_motor_power_ratio.feature} +12 -12
  25. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature +8 -8
  26. data/spec/acceptance/block_mode/blocks/hardware/{smalrubot_s1_ir_photoreflector_value.feature → smalrubot_v3_sensor_value.feature} +7 -7
  27. data/spec/models/concerns/ruby_to_block/block/{hardware__smalrubot_s1_spec.rb → hardware__smalrubot_spec.rb} +88 -84
  28. data/spec/spec_helper.rb +0 -0
  29. data/spec/steps/base_steps.rb +0 -0
  30. data/spec/steps/text_editor_steps.rb +0 -0
  31. metadata +23 -36
  32. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action.rb +0 -13
  33. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action_with_sec.rb +0 -14
  34. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb +0 -26
  35. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb +0 -21
  36. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb +0 -22
  37. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb +0 -24
  38. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb +0 -28
  39. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb +0 -21
  40. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb +0 -29
  41. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature +0 -92
  42. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature +0 -108
  43. data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb +0 -433
data/spec/spec_helper.rb CHANGED
File without changes
File without changes
File without changes
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.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouji Takao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-14 00:00:00.000000000 Z
11
+ date: 2015-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 0.1.4
201
+ version: 0.1.6
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.1.4
208
+ version: 0.1.6
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: therubyracer
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -359,19 +359,12 @@ files:
359
359
  - app/models/concerns/ruby_to_block/block/hardware_rgb_led_set_color.rb
360
360
  - app/models/concerns/ruby_to_block/block/hardware_rgb_led_turn_off.rb
361
361
  - app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb
362
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action.rb
363
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action_with_sec.rb
364
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb
365
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb
366
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_ir_photoreflector_value.rb
367
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_led_turn_on_or_off.rb
368
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb
369
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb
370
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_led_turn_on_or_off.rb
371
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb
372
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb
373
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_speed.rb
374
- - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb
362
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_action.rb
363
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_action_with_sec.rb
364
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_dc_motor_power_ratio.rb
365
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_dc_motor_set_power_ratio.rb
366
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_led_turn_on_or_off.rb
367
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_sensor_value.rb
375
368
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb
376
369
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb
377
370
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb
@@ -488,8 +481,8 @@ files:
488
481
  - public/apple-touch-icon.png
489
482
  - public/assets/application-c196e243630d74071981a16041bf391d.css
490
483
  - public/assets/application-c196e243630d74071981a16041bf391d.css.gz
491
- - public/assets/application-eece3e01e35f8f689e2e282a168f6059.js
492
- - public/assets/application-eece3e01e35f8f689e2e282a168f6059.js.gz
484
+ - public/assets/application-e64da116c4adad30e499acda9d657fb5.js
485
+ - public/assets/application-e64da116c4adad30e499acda9d657fb5.js.gz
493
486
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
494
487
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js.gz
495
488
  - public/assets/blockly/msg/js/ja-9f676d46458a2802b8f5a797c90ae8a4.js
@@ -510,11 +503,11 @@ files:
510
503
  - public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
511
504
  - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
512
505
  - public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
513
- - public/assets/manifest-93f591b19a2a69655db7b53fa00d6b17.json
514
- - public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js
515
- - public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js.gz
516
- - public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js
517
- - public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js.gz
506
+ - public/assets/manifest-beef6aec1f5553cda5a2fe11ef0774ea.json
507
+ - public/assets/msg/en_us-a3f6b99f4b54cfaeed42452de11ab02e.js
508
+ - public/assets/msg/en_us-a3f6b99f4b54cfaeed42452de11ab02e.js.gz
509
+ - public/assets/msg/ja-9323664964a9b8ede99ae16c43db5827.js
510
+ - public/assets/msg/ja-9323664964a9b8ede99ae16c43db5827.js.gz
518
511
  - public/assets/progressbar-ee8fb1222f286f625bbf7332844a6a0c.gif
519
512
  - public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css
520
513
  - public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css.gz
@@ -606,14 +599,12 @@ files:
606
599
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature
607
600
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature
608
601
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature
609
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature
610
602
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature
611
603
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
612
604
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature
605
+ - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_dc_motor_power_ratio.feature
613
606
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature
614
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature
615
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_motor_speed.feature
616
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature
607
+ - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_sensor_value.feature
617
608
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature
618
609
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature
619
610
  - spec/acceptance/block_mode/blocks/looks/hide.feature
@@ -688,8 +679,7 @@ files:
688
679
  - spec/models/concerns/ruby_to_block/block/control_if_spec.rb
689
680
  - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
690
681
  - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
691
- - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb
692
- - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb
682
+ - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_spec.rb
693
683
  - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
694
684
  - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
695
685
  - spec/models/concerns/ruby_to_block/block/looks_spec.rb
@@ -786,14 +776,12 @@ test_files:
786
776
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature
787
777
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature
788
778
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature
789
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature
790
779
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature
791
780
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
792
781
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature
782
+ - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_dc_motor_power_ratio.feature
793
783
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature
794
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature
795
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_motor_speed.feature
796
- - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature
784
+ - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_sensor_value.feature
797
785
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature
798
786
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature
799
787
  - spec/acceptance/block_mode/blocks/looks/hide.feature
@@ -868,8 +856,7 @@ test_files:
868
856
  - spec/models/concerns/ruby_to_block/block/control_if_spec.rb
869
857
  - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
870
858
  - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
871
- - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb
872
- - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb
859
+ - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_spec.rb
873
860
  - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
874
861
  - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
875
862
  - spec/models/concerns/ruby_to_block/block/looks_spec.rb
@@ -1,13 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RubyToBlock
3
- module Block
4
- class HardwareSmalrubotS1Action < HardwareSmalrubotV3Action
5
- # rubocop:disable LineLength
6
- blocknize '^\s*' + CHAR_RE +
7
- 'smalrubot_s1\.' + ACTION_RE +
8
- '\s*$',
9
- statement: true, inline: true
10
- # rubocop:enable LineLength
11
- end
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RubyToBlock
3
- module Block
4
- class HardwareSmalrubotS1ActionWithSec < HardwareSmalrubotV3ActionWithSec
5
- # rubocop:disable LineLength
6
- blocknize '^\s*' + CHAR_RE +
7
- 'smalrubot_s1\.' + ACTION_RE +
8
- '\(\s*sec:\s*(\d+(?:\.\d+)?)\)' +
9
- '\s*$',
10
- statement: true, inline: true
11
- # rubocop:enable LineLength
12
- end
13
- end
14
- end
@@ -1,26 +0,0 @@
1
- module RubyToBlock
2
- module Block
3
- class HardwareSmalrubotS1DcMotorPowerRatio < Value
4
- include CharacterOperation
5
- include HardwareOperation
6
-
7
- blocknize '^\s*' + CHAR_RE +
8
- 'smalrubot_s1\.' +
9
- LOR_RE + '_dc_motor_power_ratio\s*$',
10
- value: true
11
-
12
- def self.process_match_data(md, context)
13
- md2 = regexp.match(md[type])
14
-
15
- character = get_character(context, md2[1])
16
- return false if context.receiver && context.receiver != character
17
-
18
- block = new(fields: { LOR: md2[2] })
19
- context.add_value(block)
20
- block.character = character
21
-
22
- true
23
- end
24
- end
25
- end
26
- end
@@ -1,21 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RubyToBlock
3
- module Block
4
- class HardwareSmalrubotS1DcMotorSetPowerRatio < CharacterMethodCall
5
- include HardwareOperation
6
-
7
- blocknize '^\s*' + CHAR_RE +
8
- 'smalrubot_s1\.' +
9
- LOR_RE + '_dc_motor_power_ratio\s*=\s*(\S+)\s*$',
10
- statement: true, inline: true
11
-
12
- def self.process_match_data(md, context)
13
- md2 = regexp.match(md[type])
14
- add_character_method_call_block(context, md2[1],
15
- new(fields: { LOR: md2[2] }),
16
- SPEED: md2[3])
17
- true
18
- end
19
- end
20
- end
21
- end
@@ -1,22 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RubyToBlock
3
- module Block
4
- class HardwareSmalrubotV3Action < CharacterMethodCall
5
- include HardwareOperation
6
-
7
- # rubocop:disable LineLength
8
- blocknize '^\s*' + CHAR_RE +
9
- 'smalrubot_v3\.' + ACTION_RE +
10
- '\s*$',
11
- statement: true, inline: true
12
- # rubocop:enable LineLength
13
-
14
- def self.process_match_data(md, context)
15
- md2 = regexp.match(md[type])
16
- add_character_method_call_block(context, md2[1],
17
- new(fields: { ACTION: md2[2] }))
18
- true
19
- end
20
- end
21
- end
22
- end
@@ -1,24 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RubyToBlock
3
- module Block
4
- class HardwareSmalrubotV3ActionWithSec < CharacterMethodCall
5
- include HardwareOperation
6
-
7
- # rubocop:disable LineLength
8
- blocknize '^\s*' + CHAR_RE +
9
- 'smalrubot_v3\.' + ACTION_RE +
10
- '\(\s*sec:\s*(\d+(?:\.\d+)?)\)' +
11
- '\s*$',
12
- statement: true, inline: true
13
- # rubocop:enable LineLength
14
-
15
- def self.process_match_data(md, context)
16
- md2 = regexp.match(md[type])
17
- add_character_method_call_block(context, md2[1],
18
- new(fields: { ACTION: md2[2] }),
19
- SEC: md2[3])
20
- true
21
- end
22
- end
23
- end
24
- end
@@ -1,28 +0,0 @@
1
- module RubyToBlock
2
- module Block
3
- class HardwareSmalrubotV3LightSensorValue < Value
4
- include CharacterOperation
5
-
6
- # rubocop:disable LineLength
7
- blocknize '^\s*' + CHAR_RE +
8
- 'smalrubot_v3\.' +
9
- 'light_sensor\.value' +
10
- '\s*$',
11
- value: true
12
- # rubocop:enable LineLength
13
-
14
- def self.process_match_data(md, context)
15
- md2 = regexp.match(md[type])
16
-
17
- character = get_character(context, md2[1])
18
- return false if context.receiver && context.receiver != character
19
-
20
- block = new
21
- context.add_value(block)
22
- block.character = character
23
-
24
- true
25
- end
26
- end
27
- end
28
- end
@@ -1,21 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RubyToBlock
3
- module Block
4
- class HardwareSmalrubotV3MotorSetSpeed < CharacterMethodCall
5
- include HardwareOperation
6
-
7
- blocknize '^\s*' + CHAR_RE +
8
- 'smalrubot_v3\.' +
9
- LOR_RE + '_motor_speed\s*=\s*(\S+)\s*$',
10
- statement: true, inline: true
11
-
12
- def self.process_match_data(md, context)
13
- md2 = regexp.match(md[type])
14
- add_character_method_call_block(context, md2[1],
15
- new(fields: { LOR: md2[2] }),
16
- SPEED: md2[3])
17
- true
18
- end
19
- end
20
- end
21
- end
@@ -1,29 +0,0 @@
1
- module RubyToBlock
2
- module Block
3
- class HardwareSmalrubotV3TouchSensorPressedOrReleased < Value
4
- include CharacterOperation
5
- include HardwareOperation
6
-
7
- # rubocop:disable LineLength
8
- blocknize '^\s*' + CHAR_RE +
9
- 'smalrubot_v3\.' +
10
- LOR_RE + '_touch_sensor\.' + POR_RE + '\?' +
11
- '\s*$',
12
- value: true
13
- # rubocop:enable LineLength
14
-
15
- def self.process_match_data(md, context)
16
- md2 = regexp.match(md[type])
17
-
18
- character = get_character(context, md2[1])
19
- return false if context.receiver && context.receiver != character
20
-
21
- block = new(fields: { LOR: md2[2], POR: md2[3] })
22
- context.add_value(block)
23
- block.character = character
24
-
25
- true
26
- end
27
- end
28
- end
29
- end
@@ -1,92 +0,0 @@
1
- # encoding: utf-8
2
- # language: en
3
- @javascript
4
- Feature: hardware_smalrubot_v3_light_sensor_value block
5
- Scenario: ブロックのみ配置する
6
- Given "ブロック" タブを表示する
7
-
8
- When 次のブロックを配置する:
9
- """
10
- %block{:type => "hardware_smalrubot_v3_light_sensor_value", :x => "0", :y => "0"}
11
- """
12
- And ブロックからソースコードを生成する
13
-
14
- Then テキストエディタのプログラムは "" であること
15
-
16
- Scenario: 文とブロックを配置する
17
- Given "ブロック" タブを表示する
18
-
19
- When 次のブロックを配置する:
20
- """
21
- %block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true" }
22
- %value{:name => "ARG"}
23
- %block{:type => "hardware_smalrubot_v3_light_sensor_value", :x => "0", :y => "0"}
24
- """
25
- And ブロックからソースコードを生成する
26
-
27
- Then テキストエディタのプログラムは以下であること:
28
- """
29
- require "smalruby"
30
-
31
- p("")
32
-
33
- """
34
-
35
- Scenario: キャラクターとブロックを配置する
36
- Given "ブロック" タブを表示する
37
- And 次のキャラクターを追加する:
38
- | name | costumes | x | y | angle |
39
- | car1 | car1.png | 0 | 0 | 0 |
40
-
41
- When 次のブロックを配置する:
42
- """
43
- %block{:type => "character_new", :x => "21", :y => "15"}
44
- %field{:name => "NAME"}<
45
- car1
46
- %statement{:name => "DO"}
47
- %block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true" }
48
- %value{:name => "ARG"}
49
- %block{:type => "hardware_smalrubot_v3_light_sensor_value", :x => "0", :y => "0"}
50
- """
51
- And ブロックからソースコードを生成する
52
-
53
- Then テキストエディタのプログラムは以下であること:
54
- """
55
- require "smalruby"
56
-
57
- car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
58
- p(car1.smalrubot_v3.light_sensor.value)
59
-
60
- """
61
-
62
- Scenario: キャラクターとイベントとブロックを配置する
63
- Given "ブロック" タブを表示する
64
- And 次のキャラクターを追加する:
65
- | name | costumes | x | y | angle |
66
- | car1 | car1.png | 0 | 0 | 0 |
67
-
68
- When 次のブロックを配置する:
69
- """
70
- %block{:type => "character_new", :x => "21", :y => "15"}
71
- %field{:name => "NAME"}<
72
- car1
73
- %statement{:name => "DO"}
74
- %block{:type => "events_on_start"}
75
- %statement{:name => "DO"}
76
- %block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true" }
77
- %value{:name => "ARG"}
78
- %block{:type => "hardware_smalrubot_v3_light_sensor_value", :x => "0", :y => "0"}
79
- """
80
- And ブロックからソースコードを生成する
81
-
82
- Then テキストエディタのプログラムは以下であること:
83
- """
84
- require "smalruby"
85
-
86
- car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
87
-
88
- car1.on(:start) do
89
- p(smalrubot_v3.light_sensor.value)
90
- end
91
-
92
- """