smalruby-editor 0.3.5 → 0.4.0

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.
Files changed (366) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rspec +0 -0
  4. data/.rubocop.yml +1 -0
  5. data/.simplecov +7 -7
  6. data/.travis.yml +0 -0
  7. data/Guardfile +1 -1
  8. data/LICENSE +0 -0
  9. data/Procfile +1 -1
  10. data/Rakefile +0 -0
  11. data/app/assets/images/.keep +0 -0
  12. data/app/assets/images/favicon.ico +0 -0
  13. data/app/assets/javascripts/blocks/blockly.js.coffee.erb +0 -0
  14. data/app/assets/javascripts/blocks/character.js.coffee.erb +3 -0
  15. data/app/assets/javascripts/blocks/data.js.coffee.erb +0 -0
  16. data/app/assets/javascripts/blocks/etc.js.coffee.erb +0 -0
  17. data/app/assets/javascripts/blocks/field_character.js.coffee.erb +13 -1
  18. data/app/assets/javascripts/blocks/field_costume.js.coffee.erb +84 -0
  19. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +26 -0
  20. data/app/assets/javascripts/blocks/looks.js.coffee.erb +32 -0
  21. data/app/assets/javascripts/collections/.keep +0 -0
  22. data/app/assets/javascripts/collections/character_set.js.coffee +0 -0
  23. data/app/assets/javascripts/generators/ruby.js.coffee.erb +10 -1
  24. data/app/assets/javascripts/models/.keep +0 -0
  25. data/app/assets/javascripts/models/character.js.coffee +45 -6
  26. data/app/assets/javascripts/models/scene.js.coffee +0 -0
  27. data/app/assets/javascripts/msg/en_us.js +4 -0
  28. data/app/assets/javascripts/msg/ja.js +4 -0
  29. data/app/assets/javascripts/routers/.keep +0 -0
  30. data/app/assets/javascripts/smalruby.js.coffee.erb +5 -1
  31. data/app/assets/javascripts/views/.keep +0 -0
  32. data/app/assets/javascripts/views/character_modal_view.js.coffee.erb +357 -0
  33. data/app/assets/javascripts/views/character_selector_view.js.coffee +2 -0
  34. data/app/assets/stylesheets/editor.css.scss +201 -16
  35. data/app/assets/stylesheets/flatstrap-custom.css.scss +0 -0
  36. data/app/assets/stylesheets/load-modal.css.scss +0 -0
  37. data/app/assets/templates/.keep +0 -0
  38. data/app/controllers/application_controller.rb +8 -2
  39. data/app/controllers/concerns/.keep +0 -0
  40. data/app/controllers/costumes_controller.rb +58 -0
  41. data/app/controllers/editor_controller.rb +2 -0
  42. data/app/helpers/costumes_helper.rb +2 -0
  43. data/app/helpers/editor_helper.rb +0 -0
  44. data/app/helpers/sessions_helper.rb +0 -4
  45. data/app/mailers/.keep +0 -0
  46. data/app/models/.keep +0 -0
  47. data/app/models/concerns/.keep +0 -0
  48. data/app/models/concerns/ruby_to_block.rb +0 -0
  49. data/app/models/concerns/ruby_to_block/block.rb +0 -0
  50. data/app/models/concerns/ruby_to_block/block/base.rb +2 -0
  51. data/app/models/concerns/ruby_to_block/block/character.rb +32 -11
  52. data/app/models/concerns/ruby_to_block/block/character_event.rb +0 -0
  53. data/app/models/concerns/ruby_to_block/block/character_method_call.rb +0 -0
  54. data/app/models/concerns/ruby_to_block/block/character_new.rb +0 -0
  55. data/app/models/concerns/ruby_to_block/block/character_operation.rb +0 -0
  56. data/app/models/concerns/ruby_to_block/block/control_beark.rb +0 -0
  57. data/app/models/concerns/ruby_to_block/block/control_if.rb +0 -0
  58. data/app/models/concerns/ruby_to_block/block/control_loop.rb +0 -0
  59. data/app/models/concerns/ruby_to_block/block/control_sleep.rb +0 -0
  60. data/app/models/concerns/ruby_to_block/block/do.rb +0 -0
  61. data/app/models/concerns/ruby_to_block/block/else.rb +0 -0
  62. data/app/models/concerns/ruby_to_block/block/end.rb +0 -0
  63. data/app/models/concerns/ruby_to_block/block/events_on_click.rb +0 -0
  64. data/app/models/concerns/ruby_to_block/block/events_on_key_push_or_down.rb +0 -0
  65. data/app/models/concerns/ruby_to_block/block/events_on_start.rb +0 -0
  66. data/app/models/concerns/ruby_to_block/block/hardware_button_pressed_or_released.rb +0 -0
  67. data/app/models/concerns/ruby_to_block/block/hardware_init_hardware.rb +0 -0
  68. data/app/models/concerns/ruby_to_block/block/hardware_led_turn_off.rb +0 -0
  69. data/app/models/concerns/ruby_to_block/block/hardware_led_turn_on.rb +0 -0
  70. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb +0 -0
  71. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb +0 -0
  72. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb +0 -0
  73. data/app/models/concerns/ruby_to_block/block/hardware_neo_pixel_set_rgb.rb +31 -0
  74. data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_set_color.rb +0 -0
  75. data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_turn_off.rb +0 -0
  76. data/app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb +0 -0
  77. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb +0 -0
  78. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb +0 -0
  79. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb +0 -0
  80. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_set_speed.rb +0 -0
  81. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_speed.rb +0 -0
  82. data/app/models/concerns/ruby_to_block/block/looks_hide.rb +0 -0
  83. data/app/models/concerns/ruby_to_block/block/looks_next_costume.rb +12 -0
  84. data/app/models/concerns/ruby_to_block/block/looks_say.rb +0 -0
  85. data/app/models/concerns/ruby_to_block/block/looks_show.rb +0 -0
  86. data/app/models/concerns/ruby_to_block/block/looks_switch_costume.rb +22 -0
  87. data/app/models/concerns/ruby_to_block/block/looks_vanish.rb +0 -0
  88. data/app/models/concerns/ruby_to_block/block/math_number.rb +0 -0
  89. data/app/models/concerns/ruby_to_block/block/motion_change_x_by.rb +0 -0
  90. data/app/models/concerns/ruby_to_block/block/motion_change_y_by.rb +0 -0
  91. data/app/models/concerns/ruby_to_block/block/motion_go_to_character.rb +0 -0
  92. data/app/models/concerns/ruby_to_block/block/motion_go_to_mouse.rb +0 -0
  93. data/app/models/concerns/ruby_to_block/block/motion_move.rb +0 -0
  94. data/app/models/concerns/ruby_to_block/block/motion_point_towards_character.rb +0 -0
  95. data/app/models/concerns/ruby_to_block/block/motion_point_towards_mouse.rb +0 -0
  96. data/app/models/concerns/ruby_to_block/block/motion_rotate_left.rb +0 -0
  97. data/app/models/concerns/ruby_to_block/block/motion_rotate_right.rb +0 -0
  98. data/app/models/concerns/ruby_to_block/block/motion_self_angle.rb +0 -0
  99. data/app/models/concerns/ruby_to_block/block/motion_self_x.rb +0 -0
  100. data/app/models/concerns/ruby_to_block/block/motion_self_y.rb +0 -0
  101. data/app/models/concerns/ruby_to_block/block/motion_set_angle.rb +0 -0
  102. data/app/models/concerns/ruby_to_block/block/motion_set_x.rb +0 -0
  103. data/app/models/concerns/ruby_to_block/block/motion_set_x_y.rb +0 -0
  104. data/app/models/concerns/ruby_to_block/block/motion_set_y.rb +0 -0
  105. data/app/models/concerns/ruby_to_block/block/motion_turn.rb +0 -0
  106. data/app/models/concerns/ruby_to_block/block/motion_turn_if_reach_wall.rb +0 -0
  107. data/app/models/concerns/ruby_to_block/block/motion_turn_xy.rb +0 -0
  108. data/app/models/concerns/ruby_to_block/block/null.rb +0 -0
  109. data/app/models/concerns/ruby_to_block/block/operators_compare.rb +0 -0
  110. data/app/models/concerns/ruby_to_block/block/operators_false.rb +0 -0
  111. data/app/models/concerns/ruby_to_block/block/operators_true.rb +0 -0
  112. data/app/models/concerns/ruby_to_block/block/require_smalruby.rb +0 -0
  113. data/app/models/concerns/ruby_to_block/block/ruby_comment.rb +0 -0
  114. data/app/models/concerns/ruby_to_block/block/ruby_expression.rb +0 -0
  115. data/app/models/concerns/ruby_to_block/block/ruby_p.rb +0 -0
  116. data/app/models/concerns/ruby_to_block/block/ruby_statement.rb +0 -0
  117. data/app/models/concerns/ruby_to_block/block/sensing_hit.rb +0 -0
  118. data/app/models/concerns/ruby_to_block/block/sensing_reach_wall.rb +0 -0
  119. data/app/models/concerns/ruby_to_block/block/sound_play.rb +0 -0
  120. data/app/models/concerns/ruby_to_block/block/sound_preset_sounds.rb +0 -0
  121. data/app/models/concerns/ruby_to_block/block/text.rb +0 -0
  122. data/app/models/concerns/ruby_to_block/block/value.rb +0 -0
  123. data/app/models/concerns/ruby_to_block/context.rb +0 -0
  124. data/app/models/concerns/ruby_to_block/formatter.rb +0 -0
  125. data/app/models/costume.rb +67 -0
  126. data/app/models/source_code.rb +9 -1
  127. data/app/models/user.rb +7 -0
  128. data/app/views/costumes/index.html.haml +19 -0
  129. data/app/views/editor/_character_modal.html.haml +35 -7
  130. data/app/views/editor/_toolbox_default.html.haml +9 -0
  131. data/app/views/editor/demo.html.erb +0 -0
  132. data/app/views/editor/index.html.haml +1 -0
  133. data/bin/smalruby-editor +1 -0
  134. data/bin/spring +7 -9
  135. data/config.ru +0 -0
  136. data/config/boot.rb +0 -0
  137. data/config/database.yml.mysql2 +0 -0
  138. data/config/database.yml.sqlite3 +0 -0
  139. data/config/database.yml.travis +0 -0
  140. data/config/environment.rb +0 -0
  141. data/config/environments/development.rb +0 -0
  142. data/config/environments/production.rb +0 -0
  143. data/config/environments/standalone.rb +0 -0
  144. data/config/environments/test.rb +0 -0
  145. data/config/initializers/backtrace_silencers.rb +0 -0
  146. data/config/initializers/filter_parameter_logging.rb +0 -0
  147. data/config/initializers/inflections.rb +0 -0
  148. data/config/initializers/mime_types.rb +0 -0
  149. data/config/initializers/secret_token.rb +0 -0
  150. data/config/initializers/session_store.rb +0 -0
  151. data/config/initializers/teaspoon.rb +0 -0
  152. data/config/initializers/wrap_parameters.rb +0 -0
  153. data/config/locales/en.yml +10 -1
  154. data/config/locales/ja.yml +10 -0
  155. data/config/routes.rb +2 -0
  156. data/config/unicorn.rb +23 -23
  157. data/db/migrate/20131216121603_create_source_codes.rb +0 -0
  158. data/db/migrate/20131219045113_add_filename_to_source_code.rb +0 -0
  159. data/db/migrate/20150513061250_add_index_name_on_users.rb +1 -1
  160. data/db/migrate/20150607012053_create_costumes.rb +12 -0
  161. data/db/migrate/20150607012707_add_indexes_on_costumes.rb +13 -0
  162. data/db/migrate/20150607034013_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +31 -0
  163. data/db/migrate/20150607034014_add_missing_unique_indices.acts_as_taggable_on_engine.rb +21 -0
  164. data/db/migrate/20150607034015_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  165. data/db/migrate/20150607034016_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  166. data/db/migrate/20150607034017_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +12 -0
  167. data/db/migrate/20150607034018_insert_preset_costumes.rb +9 -0
  168. data/db/schema.rb +35 -2
  169. data/db/seeds.rb +2 -0
  170. data/demos/car_chase.rb.xml +128 -128
  171. data/demos/pong.rb.xml +379 -379
  172. data/demos/star.rb.xml +115 -115
  173. data/lib/assets/.keep +0 -0
  174. data/lib/smalruby_editor/version.rb +1 -1
  175. data/lib/tasks/.keep +0 -0
  176. data/lib/tasks/gem.rake +0 -0
  177. data/lib/tasks/rspec.rake +0 -0
  178. data/lib/tasks/rubocop.rake +0 -0
  179. data/log/.keep +0 -0
  180. data/public/404.html +0 -0
  181. data/public/422.html +0 -0
  182. data/public/500.html +0 -0
  183. data/public/apple-touch-icon.png +0 -0
  184. data/public/blockly/media/1x1.gif +0 -0
  185. data/public/blockly/media/click.mp3 +0 -0
  186. data/public/blockly/media/click.ogg +0 -0
  187. data/public/blockly/media/click.wav +0 -0
  188. data/public/blockly/media/delete.mp3 +0 -0
  189. data/public/blockly/media/delete.ogg +0 -0
  190. data/public/blockly/media/delete.wav +0 -0
  191. data/public/blockly/media/handopen.cur +0 -0
  192. data/public/blockly/media/quote0.png +0 -0
  193. data/public/blockly/media/quote1.png +0 -0
  194. data/public/browserconfig.xml +0 -0
  195. data/public/fonts/FontAwesome.otf +0 -0
  196. data/public/fonts/fontawesome-webfont.eot +0 -0
  197. data/public/fonts/fontawesome-webfont.ttf +0 -0
  198. data/public/fonts/fontawesome-webfont.woff +0 -0
  199. data/public/large.png +0 -0
  200. data/public/robots.txt +0 -0
  201. data/public/smalruby/assets/ball1.png +0 -0
  202. data/public/smalruby/assets/ball2.png +0 -0
  203. data/public/smalruby/assets/ball3.png +0 -0
  204. data/public/smalruby/assets/ball4.png +0 -0
  205. data/public/smalruby/assets/ball5.png +0 -0
  206. data/public/smalruby/assets/ball6.png +0 -0
  207. data/public/smalruby/assets/car1.png +0 -0
  208. data/public/smalruby/assets/car2.png +0 -0
  209. data/public/smalruby/assets/car3.png +0 -0
  210. data/public/smalruby/assets/car4.png +0 -0
  211. data/public/smalruby/assets/cat1.png +0 -0
  212. data/public/smalruby/assets/cat2.png +0 -0
  213. data/public/smalruby/assets/cat3.png +0 -0
  214. data/public/smalruby/assets/frog1.png +0 -0
  215. data/public/smalruby/assets/piano_do.wav +0 -0
  216. data/public/smalruby/assets/piano_do_2.wav +0 -0
  217. data/public/smalruby/assets/piano_fa.wav +0 -0
  218. data/public/smalruby/assets/piano_mi.wav +0 -0
  219. data/public/smalruby/assets/piano_ra.wav +0 -0
  220. data/public/smalruby/assets/piano_re.wav +0 -0
  221. data/public/smalruby/assets/piano_si.wav +0 -0
  222. data/public/smalruby/assets/piano_so.wav +0 -0
  223. data/public/smalruby/assets/ryu1.png +0 -0
  224. data/public/smalruby/assets/ryu2.png +0 -0
  225. data/public/smalruby/assets/taichi1.png +0 -0
  226. data/public/smalruby/assets/taichi2.png +0 -0
  227. data/public/square.png +0 -0
  228. data/public/tiny.png +0 -0
  229. data/public/wide.png +0 -0
  230. data/smalruby-editor.gemspec +2 -1
  231. data/spec/acceptance/block_mode/blocks/character/new.feature +5 -5
  232. data/spec/acceptance/block_mode/blocks/control/await.feature +2 -2
  233. data/spec/acceptance/block_mode/blocks/control/await_until.feature +3 -3
  234. data/spec/acceptance/block_mode/blocks/control/break.feature +0 -0
  235. data/spec/acceptance/block_mode/blocks/control/if.feature +0 -0
  236. data/spec/acceptance/block_mode/blocks/control/if_else.feature +0 -0
  237. data/spec/acceptance/block_mode/blocks/control/loop.feature +0 -0
  238. data/spec/acceptance/block_mode/blocks/control/next.feature +0 -0
  239. data/spec/acceptance/block_mode/blocks/control/redo.feature +0 -0
  240. data/spec/acceptance/block_mode/blocks/control/sleep.feature +0 -0
  241. data/spec/acceptance/block_mode/blocks/control/times.feature +0 -0
  242. data/spec/acceptance/block_mode/blocks/control/until.feature +0 -0
  243. data/spec/acceptance/block_mode/blocks/events/on_click.feature +2 -2
  244. data/spec/acceptance/block_mode/blocks/events/on_hit.feature +4 -4
  245. data/spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature +4 -4
  246. data/spec/acceptance/block_mode/blocks/events/on_start.feature +2 -2
  247. data/spec/acceptance/block_mode/blocks/hardware/init_hardware.feature +1 -1
  248. data/spec/acceptance/block_mode/blocks/hardware/led_turn_off.feature +2 -2
  249. data/spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature +2 -2
  250. data/spec/acceptance/block_mode/blocks/hardware/motor_driver.feature +0 -0
  251. data/spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature +0 -0
  252. data/spec/acceptance/block_mode/blocks/hardware/neo_pixel_set_rgb.feature +100 -0
  253. data/spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature +0 -0
  254. data/spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature +0 -0
  255. data/spec/acceptance/block_mode/blocks/hardware/sensor_value.feature +0 -0
  256. data/spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature +0 -0
  257. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature +1 -1
  258. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature +1 -1
  259. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature +1 -1
  260. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature +0 -0
  261. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature +0 -0
  262. data/spec/acceptance/block_mode/blocks/looks/hide.feature +2 -2
  263. data/spec/acceptance/block_mode/blocks/looks/next_costume.feature +56 -0
  264. data/spec/acceptance/block_mode/blocks/looks/say.feature +3 -3
  265. data/spec/acceptance/block_mode/blocks/looks/show.feature +2 -2
  266. data/spec/acceptance/block_mode/blocks/looks/vanish.feature +2 -2
  267. data/spec/acceptance/block_mode/blocks/motion/change_x_by.feature +2 -2
  268. data/spec/acceptance/block_mode/blocks/motion/change_y_by.feature +2 -2
  269. data/spec/acceptance/block_mode/blocks/motion/move.feature +2 -2
  270. data/spec/acceptance/block_mode/blocks/motion/reach_wall.feature +2 -2
  271. data/spec/acceptance/block_mode/blocks/motion/rotate_left.feature +2 -2
  272. data/spec/acceptance/block_mode/blocks/motion/rotate_right.feature +2 -2
  273. data/spec/acceptance/block_mode/blocks/motion/self_angle.feature +2 -2
  274. data/spec/acceptance/block_mode/blocks/motion/self_x.feature +2 -2
  275. data/spec/acceptance/block_mode/blocks/motion/self_y.feature +2 -2
  276. data/spec/acceptance/block_mode/blocks/motion/set_angle.feature +2 -2
  277. data/spec/acceptance/block_mode/blocks/motion/set_x.feature +2 -2
  278. data/spec/acceptance/block_mode/blocks/motion/set_x_y.feature +2 -2
  279. data/spec/acceptance/block_mode/blocks/motion/set_y.feature +2 -2
  280. data/spec/acceptance/block_mode/blocks/motion/turn.feature +2 -2
  281. data/spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature +2 -2
  282. data/spec/acceptance/block_mode/blocks/operators/and_or.feature +0 -0
  283. data/spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature +0 -0
  284. data/spec/acceptance/block_mode/blocks/operators/index_of.feature +0 -0
  285. data/spec/acceptance/block_mode/blocks/operators/length.feature +0 -0
  286. data/spec/acceptance/block_mode/blocks/operators/math_method.feature +0 -0
  287. data/spec/acceptance/block_mode/blocks/operators/negate.feature +0 -0
  288. data/spec/acceptance/block_mode/blocks/operators/rand.feature +0 -0
  289. data/spec/acceptance/block_mode/blocks/operators/round.feature +0 -0
  290. data/spec/acceptance/block_mode/blocks/operators/text.feature +0 -0
  291. data/spec/acceptance/block_mode/blocks/operators/true_false.feature +0 -0
  292. data/spec/acceptance/block_mode/blocks/ruby/expression.feature +0 -0
  293. data/spec/acceptance/block_mode/blocks/ruby/p.feature +0 -0
  294. data/spec/acceptance/block_mode/blocks/ruby/statement_comment.feature +0 -0
  295. data/spec/acceptance/block_mode/blocks/sensing/character_property.feature +2 -2
  296. data/spec/acceptance/block_mode/blocks/sensing/hit.feature +6 -6
  297. data/spec/acceptance/block_mode/blocks/sensing/input_key_push_or_down.feature +0 -0
  298. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_x.feature +0 -0
  299. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_y.feature +0 -0
  300. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_push_or_down.feature +0 -0
  301. data/spec/acceptance/block_mode/blocks/sensing/reach_wall.feature +2 -2
  302. data/spec/acceptance/block_mode/blocks/sensing/time_now.feature +0 -0
  303. data/spec/acceptance/block_mode/blocks/sound/play.feature +2 -2
  304. data/spec/acceptance/block_mode/character_modal_view.feature +164 -0
  305. data/spec/acceptance/block_mode/demo.feature +2 -2
  306. data/spec/acceptance/block_mode/translate.feature +0 -0
  307. data/spec/acceptance/readme.md +0 -0
  308. data/spec/acceptance/ruby_mode/check.feature +0 -0
  309. data/spec/acceptance/ruby_mode/load.feature +0 -0
  310. data/spec/acceptance/ruby_mode/translate.feature +2 -2
  311. data/spec/acceptance/standalone/preference.feature +8 -8
  312. data/spec/acceptance/standalone/run.feature +0 -0
  313. data/spec/acceptance/standalone/save.feature +1 -1
  314. data/spec/acceptance/standalone/signin.feature +1 -1
  315. data/spec/controllers/source_codes_controller_spec.rb +0 -0
  316. data/spec/fixtures/files/01.rb +0 -0
  317. data/spec/fixtures/files/01.rb.xml +0 -0
  318. data/spec/fixtures/files/01_remix.rb +0 -0
  319. data/spec/fixtures/files/01_remix02.rb +0 -0
  320. data/spec/fixtures/files/01_remix10.rb.xml +0 -0
  321. data/spec/fixtures/files/extra_car.png +0 -0
  322. data/spec/fixtures/files/favicon.ico +0 -0
  323. data/spec/helpers/editor_helper_spec.rb +0 -0
  324. data/spec/javascripts/collections/character_set_spec.coffee +0 -0
  325. data/spec/javascripts/models/character_spec.coffee +2 -14
  326. data/spec/javascripts/models/scene_spec.coffee +0 -0
  327. data/spec/javascripts/spec_helper.js +0 -0
  328. data/spec/lib/smalruby_editor_spec.rb +0 -0
  329. data/spec/models/concerns/ruby_to_block/block/character_method_call_spec.rb +0 -0
  330. data/spec/models/concerns/ruby_to_block/block/character_spec.rb +71 -0
  331. data/spec/models/concerns/ruby_to_block/block/control_if_spec.rb +0 -0
  332. data/spec/models/concerns/ruby_to_block/block/control_loop_spec.rb +0 -0
  333. data/spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb +6 -6
  334. data/spec/models/concerns/ruby_to_block/block/hardware__neo_pixel_spec.rb +77 -0
  335. data/spec/models/concerns/ruby_to_block/block/looks_say_spec.rb +0 -0
  336. data/spec/models/concerns/ruby_to_block/block/looks_spec.rb +26 -2
  337. data/spec/models/concerns/ruby_to_block/block/motion_move_spec.rb +0 -0
  338. data/spec/models/concerns/ruby_to_block/block/motion_spec.rb +0 -0
  339. data/spec/models/concerns/ruby_to_block/block/motion_turn_spec.rb +0 -0
  340. data/spec/models/concerns/ruby_to_block/block/motion_turn_xy_spec.rb +0 -0
  341. data/spec/models/concerns/ruby_to_block/block/require_smalruby_spec.rb +0 -0
  342. data/spec/models/concerns/ruby_to_block/block/ruby_comment_spec.rb +0 -0
  343. data/spec/models/concerns/ruby_to_block/block/ruby_statement_spec.rb +0 -0
  344. data/spec/models/concerns/ruby_to_block/block/sensing_reach_wall_spec.rb +0 -0
  345. data/spec/models/concerns/ruby_to_block/block/shared/block_examples.rb +2 -2
  346. data/spec/models/concerns/ruby_to_block/block/sound_spec.rb +0 -0
  347. data/spec/models/concerns/ruby_to_block/block/text_spec.rb +0 -0
  348. data/spec/models/concerns/ruby_to_block/block_spec.rb +0 -0
  349. data/spec/models/concerns/ruby_to_block_spec.rb +0 -0
  350. data/spec/spec_helper.rb +21 -10
  351. data/spec/steps/block_mode_steps.rb +0 -0
  352. data/spec/steps/fix_turnip.rb +0 -0
  353. data/spec/steps/global_variable.rb +0 -0
  354. data/spec/steps/standalone_steps.rb +3 -3
  355. data/spec/steps/then_steps.rb +28 -0
  356. data/spec/steps/when_steps.rb +15 -18
  357. data/spec/support/capybara.rb +0 -0
  358. data/spec/support/env.rb +0 -0
  359. data/spec/support/ruby_to_block.rb +0 -0
  360. data/spec/teaspoon_env.rb +0 -0
  361. data/spec/turnip_helper.rb +0 -0
  362. data/vendor/assets/javascripts/.keep +0 -0
  363. data/vendor/assets/javascripts/jquery.blockUI.js +0 -0
  364. data/vendor/assets/stylesheets/.keep +0 -0
  365. metadata +56 -14
  366. data/app/assets/javascripts/views/character_modal_view.js.coffee +0 -194
@@ -9,7 +9,7 @@ shared_context ':character_new_data', character_new_data: true do
9
9
  <<-EOS.strip_heredoc
10
10
  require "smalruby"
11
11
 
12
- car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
12
+ car1 = Character.new(costume: "costume1:car1.png", x: 0, y: 0, angle: 0)
13
13
  #{parts}
14
14
  EOS
15
15
  }
@@ -20,7 +20,7 @@ shared_context ':on_start_data', on_start_data: true do
20
20
  <<-EOS.strip_heredoc
21
21
  require "smalruby"
22
22
 
23
- car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
23
+ car1 = Character.new(costume: "costume1:car1.png", x: 0, y: 0, angle: 0)
24
24
 
25
25
  car1.on(:start) do
26
26
  #{parts.lines.join(' ')}
File without changes
File without changes
data/spec/spec_helper.rb CHANGED
@@ -94,22 +94,14 @@ RSpec.configure do |config|
94
94
  }
95
95
  end
96
96
 
97
+ Capybara.asset_host = "http://localhost:3000"
98
+
97
99
  config.include JsonSpec::Helpers
98
100
  config.include ERB::Util, type: :helper
99
101
  config.include ERB::Util, type: :feature
100
102
  config.include ActionView::Helpers::JavaScriptHelper, type: :feature
101
103
  config.include FeatureHelper, type: :feature
102
104
 
103
- config.before(:each) do
104
- Preference.user_defaults.each do |key, value|
105
- Preference[key] = value
106
- end
107
- Preference.admin_defaults.each do |key, value|
108
- Preference[key] = value
109
- end
110
- Preference["disabled_add_character_from_beginning"] = true
111
- end
112
-
113
105
  config.after(javascript: true) do
114
106
  page.execute_script('window.onbeforeunload = null')
115
107
  FileUtils.rm_rf(downloads_dir) if selenium?
@@ -136,7 +128,26 @@ RSpec.configure do |config|
136
128
  DatabaseRewinder.clean_all
137
129
  end
138
130
 
131
+ config.before(:each) do
132
+ Preference.user_defaults.each do |key, value|
133
+ Preference[key] = value
134
+ end
135
+ Preference.admin_defaults.each do |key, value|
136
+ Preference[key] = value
137
+ end
138
+ Preference["disabled_add_character_from_beginning"] = true
139
+
140
+ load(Rails.root.join("db/seeds.rb"))
141
+ end
142
+
139
143
  config.after :each do
140
144
  DatabaseRewinder.clean
141
145
  end
146
+
147
+ # for debug
148
+ config.after(:each, javascript: true, open_on_error: true) do
149
+ if example.exception.present?
150
+ save_and_open_page
151
+ end
152
+ end
142
153
  end
File without changes
File without changes
File without changes
@@ -1,10 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  step ":name としてログインする" do |name|
4
- step %{"signin-button" をクリックする}
4
+ step %{"#signin-button" をクリックする}
5
5
  step %{JavaScriptによるアニメーションが終わるまで待つ}
6
6
  step %{"signin-modal-username" に "#{name}" を指定する}
7
- step %{"signin-modal-ok-button" をクリックする}
7
+ step %{"#signin-modal-ok-button" をクリックする}
8
8
  step %{JavaScriptによるリクエストが終わるまで待つ}
9
9
  step %{JavaScriptによるアニメーションが終わるまで待つ}
10
10
  end
@@ -14,7 +14,7 @@ step "ログインする" do
14
14
  end
15
15
 
16
16
  step "ログアウトする" do
17
- step %{"submenu-button" をクリックする}
17
+ step %{"#submenu-button" をクリックする}
18
18
  step %{サブメニューの "#signout-button" をクリックする}
19
19
  step %{JavaScriptによるリクエストが終わるまで待つ}
20
20
  step %{"#main-menu" に "ログイン" を含むこと}
@@ -20,6 +20,34 @@ step ':parent に :name が表示されていないこと' do |parent, name|
20
20
  end
21
21
  end
22
22
 
23
+ step ':parent に次の要素が表示されていること:' do |parent, table|
24
+ within(name_to(parent)) do
25
+ table.hashes.each do |h|
26
+ expect(page.all(name_to(h["selecter"]), visible: true)).not_to be_empty
27
+ end
28
+ end
29
+ end
30
+
31
+ step ':parent に次の要素が表示されていないこと:' do |parent, table|
32
+ within(name_to(parent)) do
33
+ table.hashes.each do |h|
34
+ expect(page.all(name_to(h["selecter"]), visible: true)).to be_empty
35
+ end
36
+ end
37
+ end
38
+
39
+ step ':parent に文字 :text が表示されていること' do |parent, text|
40
+ within(name_to(parent)) do
41
+ expect(page).to have_content(text)
42
+ end
43
+ end
44
+
45
+ step ':parent に文字 :text が表示されていないこと' do |parent, text|
46
+ within(name_to(parent)) do
47
+ expect(page).not_to have_content(text)
48
+ end
49
+ end
50
+
23
51
  step 'コンボボックス :name の :option_label を選択していること' do
24
52
  |name, option_label|
25
53
  expect(find(%{select[name="#{name}"] option[selected]}).text)
@@ -57,17 +57,17 @@ step 'プログラムの名前に :filename を指定する' do |filename|
57
57
  step %("プログラム名の入力欄" に "#{filename}" を指定する)
58
58
  end
59
59
 
60
- step 'サブメニューの :name をクリックする' do |name|
60
+ step ':selector をクリックする' do |selector|
61
61
  # HACK: 以下では期待通りの動作にならなかったのでjQueryで無理やり実現した
62
62
  # click_on('submenu-button')
63
63
  # click_on(name_to(name, :id))
64
- page.execute_script("$('#{name_to(name)}').click()")
65
- step %{JavaScriptによるリクエストが終わるまで待つ}
66
- step %{JavaScriptによるアニメーションが終わるまで待つ}
64
+ page.execute_script("$('#{name_to(selector)}').click()")
67
65
  end
68
66
 
69
- step ':name をクリックする' do |name|
70
- click_on(name_to(name, :id))
67
+ step 'サブメニューの :selector をクリックする' do |selector|
68
+ step %{"#{selector}" をクリックする}
69
+ step %{JavaScriptによるリクエストが終わるまで待つ}
70
+ step %{JavaScriptによるアニメーションが終わるまで待つ}
71
71
  end
72
72
 
73
73
  step 'ダウンロードが完了するまで待つ' do
@@ -88,16 +88,19 @@ step ':name にフォーカスを移す' do |name|
88
88
  JS
89
89
  end
90
90
 
91
- step ':filename をロードする' do |filename|
92
- step '"ロードボタン" にフォーカスを移す'
93
-
91
+ step ':field フィールドにファイル :filename を設定する' do |field, filename|
94
92
  # HACK: input#load-file[type="file"]は非表示要素であるため、.show()し
95
93
  # ないと見つけられずattach_fileが失敗する
96
- page.execute_script("$('#load-file').show()")
94
+ page.execute_script("$('##{field}').show()")
97
95
 
98
96
  path = Pathname(fixture_path).join(filename).to_s
99
97
  path.gsub!(File::SEPARATOR, File::ALT_SEPARATOR) if windows?
100
- attach_file('load-file', path)
98
+ attach_file(field, path)
99
+ end
100
+
101
+ step ':filename をロードする' do |filename|
102
+ step '"ロードボタン" にフォーカスを移す'
103
+ step %{'load-file' フィールドにファイル '#{filename}' を設定する}
101
104
  end
102
105
 
103
106
  step 'ページをリロードする' do
@@ -199,11 +202,5 @@ end
199
202
  # rubocop:enable Eval
200
203
 
201
204
  step 'ページを表示する' do
202
- # no-op
203
- end
204
-
205
- steps_for :debug do
206
- step 'ページを表示する' do
207
- save_and_open_page
208
- end
205
+ save_and_open_page
209
206
  end
File without changes
data/spec/support/env.rb CHANGED
File without changes
File without changes
data/spec/teaspoon_env.rb CHANGED
File without changes
File without changes
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.3.5
4
+ version: 0.4.0
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-06-05 00:00:00.000000000 Z
11
+ date: 2015-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -192,20 +192,34 @@ dependencies:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: acts-as-taggable-on
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.4'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '3.4'
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: smalruby
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - "~>"
200
214
  - !ruby/object:Gem::Version
201
- version: 0.1.8
215
+ version: 0.1.10
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: 0.1.8
222
+ version: 0.1.10
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: therubyracer
211
225
  requirement: !ruby/object:Gem::Requirement
@@ -282,6 +296,7 @@ files:
282
296
  - app/assets/javascripts/blocks/etc.js.coffee.erb
283
297
  - app/assets/javascripts/blocks/events.js.coffee.erb
284
298
  - app/assets/javascripts/blocks/field_character.js.coffee.erb
299
+ - app/assets/javascripts/blocks/field_costume.js.coffee.erb
285
300
  - app/assets/javascripts/blocks/hardware.js.coffee.erb
286
301
  - app/assets/javascripts/blocks/looks.js.coffee.erb
287
302
  - app/assets/javascripts/blocks/motion.js.coffee.erb
@@ -303,7 +318,7 @@ files:
303
318
  - app/assets/javascripts/routers/.keep
304
319
  - app/assets/javascripts/smalruby.js.coffee.erb
305
320
  - app/assets/javascripts/views/.keep
306
- - app/assets/javascripts/views/character_modal_view.js.coffee
321
+ - app/assets/javascripts/views/character_modal_view.js.coffee.erb
307
322
  - app/assets/javascripts/views/character_selector_view.js.coffee
308
323
  - app/assets/javascripts/views/load_modal_view.js.coffee.erb
309
324
  - app/assets/javascripts/views/main_menu_view.js.coffee.erb
@@ -319,11 +334,13 @@ files:
319
334
  - app/assets/templates/.keep
320
335
  - app/controllers/application_controller.rb
321
336
  - app/controllers/concerns/.keep
337
+ - app/controllers/costumes_controller.rb
322
338
  - app/controllers/editor_controller.rb
323
339
  - app/controllers/sessions_controller.rb
324
340
  - app/controllers/source_codes_controller.rb
325
341
  - app/controllers/users_controller.rb
326
342
  - app/helpers/application_helper.rb
343
+ - app/helpers/costumes_helper.rb
327
344
  - app/helpers/editor_helper.rb
328
345
  - app/helpers/sessions_helper.rb
329
346
  - app/helpers/users_helper.rb
@@ -355,6 +372,7 @@ files:
355
372
  - app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb
356
373
  - app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb
357
374
  - app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb
375
+ - app/models/concerns/ruby_to_block/block/hardware_neo_pixel_set_rgb.rb
358
376
  - app/models/concerns/ruby_to_block/block/hardware_operation.rb
359
377
  - app/models/concerns/ruby_to_block/block/hardware_rgb_led_set_color.rb
360
378
  - app/models/concerns/ruby_to_block/block/hardware_rgb_led_turn_off.rb
@@ -371,8 +389,10 @@ files:
371
389
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_set_speed.rb
372
390
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_speed.rb
373
391
  - app/models/concerns/ruby_to_block/block/looks_hide.rb
392
+ - app/models/concerns/ruby_to_block/block/looks_next_costume.rb
374
393
  - app/models/concerns/ruby_to_block/block/looks_say.rb
375
394
  - app/models/concerns/ruby_to_block/block/looks_show.rb
395
+ - app/models/concerns/ruby_to_block/block/looks_switch_costume.rb
376
396
  - app/models/concerns/ruby_to_block/block/looks_vanish.rb
377
397
  - app/models/concerns/ruby_to_block/block/math_number.rb
378
398
  - app/models/concerns/ruby_to_block/block/motion_change_x_by.rb
@@ -412,9 +432,11 @@ files:
412
432
  - app/models/concerns/ruby_to_block/block/value.rb
413
433
  - app/models/concerns/ruby_to_block/context.rb
414
434
  - app/models/concerns/ruby_to_block/formatter.rb
435
+ - app/models/costume.rb
415
436
  - app/models/preference.rb
416
437
  - app/models/source_code.rb
417
438
  - app/models/user.rb
439
+ - app/views/costumes/index.html.haml
418
440
  - app/views/editor/_block_tab.html.haml
419
441
  - app/views/editor/_character_modal.html.haml
420
442
  - app/views/editor/_load_modal.html.haml
@@ -464,6 +486,14 @@ files:
464
486
  - db/migrate/20131219045113_add_filename_to_source_code.rb
465
487
  - db/migrate/20150513061200_create_users.rb
466
488
  - db/migrate/20150513061250_add_index_name_on_users.rb
489
+ - db/migrate/20150607012053_create_costumes.rb
490
+ - db/migrate/20150607012707_add_indexes_on_costumes.rb
491
+ - db/migrate/20150607034013_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb
492
+ - db/migrate/20150607034014_add_missing_unique_indices.acts_as_taggable_on_engine.rb
493
+ - db/migrate/20150607034015_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
494
+ - db/migrate/20150607034016_add_missing_taggable_index.acts_as_taggable_on_engine.rb
495
+ - db/migrate/20150607034017_change_collation_for_tag_names.acts_as_taggable_on_engine.rb
496
+ - db/migrate/20150607034018_insert_preset_costumes.rb
467
497
  - db/schema.rb
468
498
  - db/seeds.rb
469
499
  - demos/car_chase.rb.xml
@@ -483,10 +513,10 @@ files:
483
513
  - public/422.html
484
514
  - public/500.html
485
515
  - public/apple-touch-icon.png
486
- - public/assets/application-f411d2bebfcc93a4e8ac20b19af2fafd.js
487
- - public/assets/application-f411d2bebfcc93a4e8ac20b19af2fafd.js.gz
488
- - public/assets/application-f879948b97a781e3d996535a2a0585fa.css
489
- - public/assets/application-f879948b97a781e3d996535a2a0585fa.css.gz
516
+ - public/assets/application-01ea22bf031b73863715417bd68b9cfa.css
517
+ - public/assets/application-01ea22bf031b73863715417bd68b9cfa.css.gz
518
+ - public/assets/application-10e7350b7f8e32535d954c6a53e6b2ff.js
519
+ - public/assets/application-10e7350b7f8e32535d954c6a53e6b2ff.js.gz
490
520
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
491
521
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js.gz
492
522
  - public/assets/blockly/msg/js/ja-16b694632120c3d1ace214702c6ea413.js
@@ -507,11 +537,11 @@ files:
507
537
  - public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
508
538
  - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
509
539
  - public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
510
- - public/assets/manifest-514520c20d8e98306b1bb2d0437f7575.json
511
- - public/assets/msg/en_us-a98cc83805d44f5f675fe6eac2c955ec.js
512
- - public/assets/msg/en_us-a98cc83805d44f5f675fe6eac2c955ec.js.gz
513
- - public/assets/msg/ja-243b0a55ef1086ef2180af94c422cb5e.js
514
- - public/assets/msg/ja-243b0a55ef1086ef2180af94c422cb5e.js.gz
540
+ - public/assets/manifest-013a6df7ca7443586ce9a3614a33dd39.json
541
+ - public/assets/msg/en_us-e54bdd84fc120684bed3fa16e2d3d7fa.js
542
+ - public/assets/msg/en_us-e54bdd84fc120684bed3fa16e2d3d7fa.js.gz
543
+ - public/assets/msg/ja-ada4923ec8028047541796bf2f31dd1c.js
544
+ - public/assets/msg/ja-ada4923ec8028047541796bf2f31dd1c.js.gz
515
545
  - public/assets/progressbar-ee8fb1222f286f625bbf7332844a6a0c.gif
516
546
  - public/blockly/media/1x1.gif
517
547
  - public/blockly/media/anon.jpeg
@@ -588,6 +618,7 @@ files:
588
618
  - spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature
589
619
  - spec/acceptance/block_mode/blocks/hardware/motor_driver.feature
590
620
  - spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature
621
+ - spec/acceptance/block_mode/blocks/hardware/neo_pixel_set_rgb.feature
591
622
  - spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature
592
623
  - spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature
593
624
  - spec/acceptance/block_mode/blocks/hardware/sensor_value.feature
@@ -604,6 +635,7 @@ files:
604
635
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature
605
636
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature
606
637
  - spec/acceptance/block_mode/blocks/looks/hide.feature
638
+ - spec/acceptance/block_mode/blocks/looks/next_costume.feature
607
639
  - spec/acceptance/block_mode/blocks/looks/say.feature
608
640
  - spec/acceptance/block_mode/blocks/looks/show.feature
609
641
  - spec/acceptance/block_mode/blocks/looks/vanish.feature
@@ -644,6 +676,7 @@ files:
644
676
  - spec/acceptance/block_mode/blocks/sensing/reach_wall.feature
645
677
  - spec/acceptance/block_mode/blocks/sensing/time_now.feature
646
678
  - spec/acceptance/block_mode/blocks/sound/play.feature
679
+ - spec/acceptance/block_mode/character_modal_view.feature
647
680
  - spec/acceptance/block_mode/demo.feature
648
681
  - spec/acceptance/block_mode/translate.feature
649
682
  - spec/acceptance/readme.md
@@ -661,6 +694,7 @@ files:
661
694
  - spec/fixtures/files/01_remix.rb
662
695
  - spec/fixtures/files/01_remix02.rb
663
696
  - spec/fixtures/files/01_remix10.rb.xml
697
+ - spec/fixtures/files/extra_car.png
664
698
  - spec/fixtures/files/favicon.ico
665
699
  - spec/fixtures/files/hardware_led.rb.xml
666
700
  - spec/helpers/editor_helper_spec.rb
@@ -671,9 +705,11 @@ files:
671
705
  - spec/javascripts/spec_helper.js
672
706
  - spec/lib/smalruby_editor_spec.rb
673
707
  - spec/models/concerns/ruby_to_block/block/character_method_call_spec.rb
708
+ - spec/models/concerns/ruby_to_block/block/character_spec.rb
674
709
  - spec/models/concerns/ruby_to_block/block/control_if_spec.rb
675
710
  - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
676
711
  - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
712
+ - spec/models/concerns/ruby_to_block/block/hardware__neo_pixel_spec.rb
677
713
  - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_spec.rb
678
714
  - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
679
715
  - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
@@ -767,6 +803,7 @@ test_files:
767
803
  - spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature
768
804
  - spec/acceptance/block_mode/blocks/hardware/motor_driver.feature
769
805
  - spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature
806
+ - spec/acceptance/block_mode/blocks/hardware/neo_pixel_set_rgb.feature
770
807
  - spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature
771
808
  - spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature
772
809
  - spec/acceptance/block_mode/blocks/hardware/sensor_value.feature
@@ -783,6 +820,7 @@ test_files:
783
820
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature
784
821
  - spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature
785
822
  - spec/acceptance/block_mode/blocks/looks/hide.feature
823
+ - spec/acceptance/block_mode/blocks/looks/next_costume.feature
786
824
  - spec/acceptance/block_mode/blocks/looks/say.feature
787
825
  - spec/acceptance/block_mode/blocks/looks/show.feature
788
826
  - spec/acceptance/block_mode/blocks/looks/vanish.feature
@@ -823,6 +861,7 @@ test_files:
823
861
  - spec/acceptance/block_mode/blocks/sensing/reach_wall.feature
824
862
  - spec/acceptance/block_mode/blocks/sensing/time_now.feature
825
863
  - spec/acceptance/block_mode/blocks/sound/play.feature
864
+ - spec/acceptance/block_mode/character_modal_view.feature
826
865
  - spec/acceptance/block_mode/demo.feature
827
866
  - spec/acceptance/block_mode/translate.feature
828
867
  - spec/acceptance/readme.md
@@ -840,6 +879,7 @@ test_files:
840
879
  - spec/fixtures/files/01_remix.rb
841
880
  - spec/fixtures/files/01_remix02.rb
842
881
  - spec/fixtures/files/01_remix10.rb.xml
882
+ - spec/fixtures/files/extra_car.png
843
883
  - spec/fixtures/files/favicon.ico
844
884
  - spec/fixtures/files/hardware_led.rb.xml
845
885
  - spec/helpers/editor_helper_spec.rb
@@ -850,9 +890,11 @@ test_files:
850
890
  - spec/javascripts/spec_helper.js
851
891
  - spec/lib/smalruby_editor_spec.rb
852
892
  - spec/models/concerns/ruby_to_block/block/character_method_call_spec.rb
893
+ - spec/models/concerns/ruby_to_block/block/character_spec.rb
853
894
  - spec/models/concerns/ruby_to_block/block/control_if_spec.rb
854
895
  - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
855
896
  - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
897
+ - spec/models/concerns/ruby_to_block/block/hardware__neo_pixel_spec.rb
856
898
  - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_spec.rb
857
899
  - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
858
900
  - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb