smalruby-editor 0.3.5-x86-mingw32 → 0.4.0-x86-mingw32

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.

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
@@ -11,8 +11,8 @@
11
11
  """
12
12
  require "smalruby"
13
13
 
14
- car1 = Character.new(costume: "car2.png", x: 0, y: 0, angle: 0)
15
- car2 = Character.new(costume: "car4.png", x: 0, y: 415, angle: 0)
14
+ car1 = Character.new(costume: "costume1:car2.png", x: 0, y: 0, angle: 0)
15
+ car2 = Character.new(costume: "costume1:car4.png", x: 0, y: 415, angle: 0)
16
16
  # 車のおいかけっこ
17
17
 
18
18
  # 逃げる車
File without changes
File without changes
File without changes
@@ -11,7 +11,7 @@
11
11
  """
12
12
  require "smalruby"
13
13
 
14
- car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
14
+ car1 = Character.new(costume: "costume1:car1.png", x: 0, y: 0, angle: 0)
15
15
 
16
16
  car1.on(:start) do
17
17
  loop do
@@ -28,7 +28,7 @@
28
28
  ならば 次のXMLと同等のブロックが配置されていること:
29
29
  """
30
30
  <xml>
31
- <character x="0" y="0" name="car1" costumes="car1.png" angle="0"></character>
31
+ <character x="0" y="0" name="car1" costumes="costume1:car1.png" angle="0"></character>
32
32
  <block type="character_new" id="1" x="0" y="0">
33
33
  <field name="NAME">car1</field>
34
34
  <statement name="DO">
@@ -8,12 +8,12 @@ Feature: Preference - 設定
8
8
  And '/' にアクセスする
9
9
 
10
10
  Scenario: ログインして設定ダイアログを表示する
11
- When "submenu-button" をクリックする
11
+ When "#submenu-button" をクリックする
12
12
 
13
13
  Then "#submenu" に "#preference-button" が表示されていないこと
14
14
 
15
15
  When ログインする
16
- And "submenu-button" をクリックする
16
+ And "#submenu-button" をクリックする
17
17
 
18
18
  Then "#submenu" に "#preference-button" が表示されていること
19
19
 
@@ -22,13 +22,13 @@ Feature: Preference - 設定
22
22
 
23
23
  Then "#preference-modal" が表示されていること
24
24
 
25
- When "preference-modal-ok-button" をクリックする
25
+ When "#preference-modal-ok-button" をクリックする
26
26
  And JavaScriptによるリクエストが終わるまで待つ
27
27
 
28
28
  Then "#preference-modal" が表示されていないこと
29
29
 
30
30
  When ログアウトする
31
- And "submenu-button" をクリックする
31
+ And "#submenu-button" をクリックする
32
32
 
33
33
  Then "#submenu" に "#preference-button" が表示されていないこと
34
34
 
@@ -48,7 +48,7 @@ Feature: Preference - 設定
48
48
  When "user[preferences][toolbox__default__enabled_hardware_blocks]" をチェックする
49
49
  And "user[preferences][toolbox__default__enabled_smalrubot_v3_blocks]" をチェックする
50
50
  And "user[preferences][toolbox__default__enabled_smalrubot_s1_blocks]" をチェックする
51
- And "preference-modal-ok-button" をクリックする
51
+ And "#preference-modal-ok-button" をクリックする
52
52
  And JavaScriptによるリクエストが終わるまで待つ
53
53
 
54
54
  Then "#preference-modal" が表示されていないこと
@@ -78,7 +78,7 @@ Feature: Preference - 設定
78
78
  And "user[preferences][disabled_new_character]" をチェックする
79
79
  And "user[preferences][enabled_readonly_ruby_mode]" をチェックする
80
80
  And "user[preferences][hardware_port]" フィールドに "COM3" を指定する
81
- And "preference-modal-ok-button" をクリックする
81
+ And "#preference-modal-ok-button" をクリックする
82
82
  And JavaScriptによるリクエストが終わるまで待つ
83
83
 
84
84
  Then "#preference-modal" が表示されていないこと
@@ -95,7 +95,7 @@ Feature: Preference - 設定
95
95
  When ログインする
96
96
  And サブメニューの "#preference-button" をクリックする
97
97
  And "user[preferences][disabled_new_character]" をチェックする
98
- And "preference-modal-ok-button" をクリックする
98
+ And "#preference-modal-ok-button" をクリックする
99
99
  And JavaScriptによるリクエストが終わるまで待つ
100
100
 
101
101
  Then "#preference-modal" が表示されていないこと
@@ -109,7 +109,7 @@ Feature: Preference - 設定
109
109
  When ログインする
110
110
  And サブメニューの "#preference-button" をクリックする
111
111
  And "user[preferences][enabled_readonly_ruby_mode]" をチェックする
112
- And "preference-modal-ok-button" をクリックする
112
+ And "#preference-modal-ok-button" をクリックする
113
113
  And JavaScriptによるリクエストが終わるまで待つ
114
114
 
115
115
  Then "#preference-modal" が表示されていないこと
File without changes
@@ -71,7 +71,7 @@
71
71
  かつ ホームディレクトリの "<保存したファイルの名前>" が次の内容であること:
72
72
  """
73
73
  <xml>
74
- <character x="300" y="200" name="car1" costumes="car4.png" angle="90"></character>
74
+ <character x="300" y="200" name="car1" costumes="costume1:car4.png" angle="90"></character>
75
75
  <block type="character_new" id="1" x="0" y="0">
76
76
  <field name="NAME">car1</field>
77
77
  <statement name="DO">
@@ -93,7 +93,7 @@
93
93
  ならば "#signin-modal" が表示されていること
94
94
 
95
95
  もし "signin-modal-username" に "1102" を指定する
96
- かつ "signin-modal-ok-button" をクリックする
96
+ かつ "#signin-modal-ok-button" をクリックする
97
97
  かつ JavaScriptによる処理が終わるまで待つ
98
98
 
99
99
  ならば "#signin-modal" が表示されていないこと
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -91,20 +91,8 @@ describe 'Smalruby.Character', ->
91
91
  expect(self.costume()).to.equal('car1.png')
92
92
 
93
93
  describe '#costumeUrl', ->
94
- describe 'プリセットの場合', ->
95
- it 'プレフィックスが/smalruby/assets/であること', ->
96
- expect(self.costumeUrl()).to.equal('/smalruby/assets/car1.png')
97
-
98
- describe 'プリセットではない場合', ->
99
- beforeEach ->
100
- self = new klass
101
- costumes: [
102
- 'http://example.com/car1.png'
103
- 'http://example.com/car2.png'
104
- ]
105
-
106
- it 'costumeの値であること', ->
107
- expect(self.costumeUrl()).to.equal(self.costume())
94
+ it 'プレフィックスが/smalruby/assets/であること', ->
95
+ expect(self.costumeUrl()).to.equal('/smalruby/assets/car1.png')
108
96
 
109
97
  describe '#nextCostume', ->
110
98
  it 'costumeIndexをインクリメントすること', ->
File without changes
File without changes
File without changes
@@ -0,0 +1,71 @@
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::Character, to_blocks: true do
8
+ parts = <<-EOS
9
+ require "smalruby"
10
+
11
+ car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
12
+ EOS
13
+ describe compact_source_code(parts) do
14
+ _parts = parts
15
+ let(:data) { _parts }
16
+
17
+ it '結果が正しいこと' do
18
+ should eq_block_xml(<<-XML)
19
+ <character name="car1" x="0" y="0" angle="0" costumes="car1.png" />
20
+ XML
21
+ end
22
+ end
23
+
24
+ parts = <<-EOS
25
+ require "smalruby"
26
+
27
+ car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0, rotation_style: :left_right)
28
+ EOS
29
+ describe compact_source_code(parts) do
30
+ _parts = parts
31
+ let(:data) { _parts }
32
+
33
+ it '結果が正しいこと' do
34
+ should eq_block_xml(<<-XML)
35
+ <character name="car1" x="0" y="0" angle="0" costumes="car1.png" rotation_style="left_right" />
36
+ XML
37
+ end
38
+ end
39
+
40
+ parts = <<-EOS
41
+ require "smalruby"
42
+
43
+ car1 = Character.new(costume: ["car1.png", "car2.png"], x: 0, y: 0, angle: 0)
44
+ EOS
45
+ describe compact_source_code(parts) do
46
+ _parts = parts
47
+ let(:data) { _parts }
48
+
49
+ it '結果が正しいこと' do
50
+ should eq_block_xml(<<-XML)
51
+ <character name="car1" x="0" y="0" angle="0" costumes="car1.png,car2.png" />
52
+ XML
53
+ end
54
+ end
55
+
56
+ parts = <<-EOS
57
+ require "smalruby"
58
+
59
+ car1 = Character.new(costume: ["car1.png", "car2.png"], costume_index: 1, x: 0, y: 0, angle: 0)
60
+ EOS
61
+ describe compact_source_code(parts) do
62
+ _parts = parts
63
+ let(:data) { _parts }
64
+
65
+ it '結果が正しいこと' do
66
+ should eq_block_xml(<<-XML)
67
+ <character name="car1" x="0" y="0" angle="0" costumes="car1.png,car2.png" costume_index="1" />
68
+ XML
69
+ end
70
+ end
71
+ end
@@ -22,7 +22,7 @@ end
22
22
  end
23
23
 
24
24
  parts = <<-EOS
25
- cat1 = Character.new(costume: "cat1.png", x: 200, y: 150, angle: 90)
25
+ cat1 = Character.new(costume: "costume1:cat1.png", x: 200, y: 150, angle: 90)
26
26
 
27
27
  car1.on(:start) do
28
28
 
@@ -43,8 +43,8 @@ end
43
43
 
44
44
  it '結果が正しいこと' do
45
45
  should eq_block_xml(<<-XML)
46
- <character name="car1" x="0" y="0" angle="0" costumes="car1.png" />
47
- <character name="cat1" x="200" y="150" angle="90" costumes="cat1.png" />
46
+ <character name="car1" x="0" y="0" angle="0" costumes="costume1:car1.png" />
47
+ <character name="cat1" x="200" y="150" angle="90" costumes="costume1:cat1.png" />
48
48
  <block type="character_new">
49
49
  <field name="NAME">car1</field>
50
50
  <statement name="DO">
@@ -66,7 +66,7 @@ end
66
66
  end
67
67
 
68
68
  parts = <<-EOS
69
- cat1 = Character.new(costume: "cat1.png", x: 200, y: 150, angle: 90)
69
+ cat1 = Character.new(costume: "costume1:cat1.png", x: 200, y: 150, angle: 90)
70
70
 
71
71
  car1.on(:start) do
72
72
 
@@ -81,8 +81,8 @@ end
81
81
 
82
82
  it '結果が正しいこと' do
83
83
  should eq_block_xml(<<-XML)
84
- <character name="car1" x="0" y="0" angle="0" costumes="car1.png" />
85
- <character name="cat1" x="200" y="150" angle="90" costumes="cat1.png" />
84
+ <character name="car1" x="0" y="0" angle="0" costumes="costume1:car1.png" />
85
+ <character name="cat1" x="200" y="150" angle="90" costumes="costume1:cat1.png" />
86
86
  <block type="character_new">
87
87
  <field name="NAME">car1</field>
88
88
  <statement name="DO">
@@ -0,0 +1,77 @@
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, 'NeoPixel blocks', to_blocks: true do
8
+ parts = <<-EOS
9
+ require "smalruby"
10
+
11
+ init_hardware
12
+
13
+ car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
14
+
15
+ car1.on(:start) do
16
+ neo_pixel("D5").set(color: [0, 128, 255])
17
+ end
18
+ car1.neo_pixel("D5").set(color: [0, 128, 255])
19
+ EOS
20
+ describe compact_source_code(parts) do
21
+ _parts = parts
22
+ let(:data) { _parts }
23
+
24
+ it '結果が正しいこと' do
25
+ should eq_block_xml(<<-XML)
26
+ <character name="car1" x="0" y="0" angle="0" costumes="car1.png" />
27
+ <block type="character_new">
28
+ <field name="NAME">car1</field>
29
+ <statement name="DO">
30
+ <block type="events_on_start">
31
+ <statement name="DO">
32
+ <block type="hardware_neo_pixel_set_rgb">
33
+ <field name="PIN">D5</field>
34
+ <value name="RED">
35
+ <block type="math_number">
36
+ <field name="NUM">0</field>
37
+ </block>
38
+ </value>
39
+ <value name="GREEN">
40
+ <block type="math_number">
41
+ <field name="NUM">128</field>
42
+ </block>
43
+ </value>
44
+ <value name="BLUE">
45
+ <block type="math_number">
46
+ <field name="NUM">255</field>
47
+ </block>
48
+ </value>
49
+ </block>
50
+ </statement>
51
+ <next>
52
+ <block type="hardware_neo_pixel_set_rgb">
53
+ <field name="PIN">D5</field>
54
+ <value name="RED">
55
+ <block type="math_number">
56
+ <field name="NUM">0</field>
57
+ </block>
58
+ </value>
59
+ <value name="GREEN">
60
+ <block type="math_number">
61
+ <field name="NUM">128</field>
62
+ </block>
63
+ </value>
64
+ <value name="BLUE">
65
+ <block type="math_number">
66
+ <field name="NUM">255</field>
67
+ </block>
68
+ </value>
69
+ </block>
70
+ </next>
71
+ </block>
72
+ </statement>
73
+ </block>
74
+ XML
75
+ end
76
+ end
77
+ end
@@ -11,11 +11,15 @@ car1.on(:start) do
11
11
  self.visible = true
12
12
  self.visible = false
13
13
  vanish
14
+ next_costume
15
+ switch_costume("costume1")
14
16
  end
15
17
  car1.say(message: "こんにちは!")
16
18
  car1.visible = true
17
19
  car1.visible = false
18
20
  car1.vanish
21
+ car1.next_costume
22
+ car1.switch_costume("costume1")
19
23
  EOS
20
24
  describe compact_source_code(parts), character_new_data: true do
21
25
  _parts = parts
@@ -38,7 +42,17 @@ car1.vanish
38
42
  <next>
39
43
  <block type="looks_hide">
40
44
  <next>
41
- <block type="looks_vanish" />
45
+ <block type="looks_vanish">
46
+ <next>
47
+ <block type="looks_next_costume">
48
+ <next>
49
+ <block type="looks_switch_costume">
50
+ <field name="COSTUME">costume1</field>
51
+ </block>
52
+ </next>
53
+ </block>
54
+ </next>
55
+ </block>
42
56
  </next>
43
57
  </block>
44
58
  </next>
@@ -58,7 +72,17 @@ car1.vanish
58
72
  <next>
59
73
  <block type="looks_hide">
60
74
  <next>
61
- <block type="looks_vanish" />
75
+ <block type="looks_vanish">
76
+ <next>
77
+ <block type="looks_next_costume">
78
+ <next>
79
+ <block type="looks_switch_costume">
80
+ <field name="COSTUME">costume1</field>
81
+ </block>
82
+ </next>
83
+ </block>
84
+ </next>
85
+ </block>
62
86
  </next>
63
87
  </block>
64
88
  </next>
@@ -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(' ')}