smalruby-editor 0.2.2-x86-mingw32 → 0.2.3-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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/Guardfile +2 -6
  4. data/LEGAL +6 -0
  5. data/README.rdoc +2 -0
  6. data/app/assets/javascripts/application.js +1 -0
  7. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +37 -0
  8. data/app/assets/javascripts/models/source_code.js +123 -0
  9. data/app/assets/javascripts/msg/en_us.js +2 -0
  10. data/app/assets/javascripts/msg/ja.js +2 -0
  11. data/app/assets/javascripts/smalruby.js.coffee.erb +1 -1
  12. data/app/assets/javascripts/views/character_modal_view.js.coffee +2 -0
  13. data/app/assets/javascripts/views/character_selector_view.js.coffee +2 -2
  14. data/app/assets/javascripts/views/load_modal_view.js.coffee.erb +2 -0
  15. data/app/assets/javascripts/views/reset_modal_view.js.coffee +2 -0
  16. data/app/assets/stylesheets/application.css +0 -0
  17. data/app/assets/stylesheets/editor.css.scss +0 -0
  18. data/app/assets/stylesheets/toolbox_raspberrypi.css.scss.erb +32 -0
  19. data/app/assets/stylesheets/toolbox_smalrubot_s1.css.scss.erb +1 -0
  20. data/app/controllers/editor_controller.rb +0 -0
  21. data/app/helpers/application_helper.rb +5 -0
  22. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb +26 -0
  23. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb +21 -0
  24. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb +21 -0
  25. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_speed.rb +26 -0
  26. data/app/models/source_code.rb +0 -0
  27. data/app/views/editor/_toolbox_default.html.haml +7 -3
  28. data/app/views/editor/_toolbox_raspberrypi.html.haml +233 -0
  29. data/app/views/editor/_toolbox_smalrubot_s1.html.haml +75 -51
  30. data/app/views/editor/_toolbox_smalrubot_v3.html.haml +70 -55
  31. data/app/views/editor/index.html.haml +0 -6
  32. data/app/views/layouts/application.html.erb +1 -0
  33. data/db/schema.rb +23 -23
  34. data/lib/smalruby_editor.rb +5 -1
  35. data/lib/smalruby_editor/config.rb +2 -0
  36. data/lib/smalruby_editor/version.rb +1 -1
  37. data/smalruby-editor.gemspec +1 -1
  38. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature +116 -0
  39. data/spec/javascripts/models/source_code_spec.coffee +5 -0
  40. data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb +89 -1
  41. data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb +433 -0
  42. data/spec/models/concerns/ruby_to_block/block/hardware_spec.rb +0 -338
  43. data/vendor/assets/javascripts/strftime-min.js +8 -0
  44. metadata +27 -14
  45. data/app/assets/javascripts/models/source_code.js.coffee +0 -80
@@ -0,0 +1,8 @@
1
+ (function(){function i(c,a,b){return g(c,a,b)}function g(c,a,b,j){j=j||{};a&&!n(a)&&(b=a,a=void 0);a=a||new Date;b=b||o;b.formats=b.formats||{};var i=a.getTime(),h=j.timezone,e=typeof h;if(j.utc||e=="number"||e=="string")a=p(a);if(h){if(e=="string")var k=h[0]=="-"?-1:1,q=parseInt(h.slice(1,3),10),r=parseInt(h.slice(3,5),10),h=k*(60*q+r);e&&(a=new Date(a.getTime()+h*6E4))}return c.replace(/%([-_0]?.)/g,function(c,e){var d;if(e.length==2){d=e[0];if(d=="-")d="";else if(d=="_")d=" ";else if(d=="0")d=
2
+ "0";else return c;e=e[1]}switch(e){case "A":return b.days[a.getDay()];case "a":return b.shortDays[a.getDay()];case "B":return b.months[a.getMonth()];case "b":return b.shortMonths[a.getMonth()];case "C":return f(Math.floor(a.getFullYear()/100),d);case "D":return g(b.formats.D||"%m/%d/%y",a,b);case "d":return f(a.getDate(),d);case "e":return f(a.getDate(),d==null?" ":d);case "F":return g(b.formats.F||"%Y-%m-%d",a,b);case "H":return f(a.getHours(),d);case "h":return b.shortMonths[a.getMonth()];case "I":return f(l(a),
3
+ d);case "j":return d=new Date(a.getFullYear(),0,1),d=Math.ceil((a.getTime()-d.getTime())/864E5),f(d,3);case "k":return f(a.getHours(),d==null?" ":d);case "L":return f(Math.floor(i%1E3),3);case "l":return f(l(a),d==null?" ":d);case "M":return f(a.getMinutes(),d);case "m":return f(a.getMonth()+1,d);case "n":return"\n";case "o":return String(a.getDate())+s(a.getDate());case "P":return a.getHours()<12?b.am:b.pm;case "p":return a.getHours()<12?b.AM:b.PM;case "R":return g(b.formats.R||"%H:%M",a,b);case "r":return g(b.formats.r||
4
+ "%I:%M:%S %p",a,b);case "S":return f(a.getSeconds(),d);case "s":return Math.floor(i/1E3);case "T":return g(b.formats.T||"%H:%M:%S",a,b);case "t":return"\t";case "U":return f(m(a,"sunday"),d);case "u":return d=a.getDay(),d==0?7:d;case "v":return g(b.formats.v||"%e-%b-%Y",a,b);case "W":return f(m(a,"monday"),d);case "w":return a.getDay();case "Y":return a.getFullYear();case "y":return d=String(a.getFullYear()),d.slice(d.length-2);case "Z":return j.utc?"GMT":(d=a.toString().match(/\(([\w\s]+)\)/))&&
5
+ d[1]||"";case "z":return j.utc?"+0000":(d=typeof h=="number"?h:-a.getTimezoneOffset(),(d<0?"-":"+")+f(Math.floor(Math.abs(d)/60))+f(Math.abs(d)%60));default:return e}})}function p(c){var a=(c.getTimezoneOffset()||0)*6E4;return new Date(c.getTime()+a)}function n(c){for(var a=0,b=k.length,a=0;a<b;++a)if(typeof c[k[a]]!="function")return!1;return!0}function f(c,a,b){typeof a==="number"&&(b=a,a="0");a==null&&(a="0");b=b||2;c=String(c);if(a)for(;c.length<b;)c=a+c;return c}function l(c){c=c.getHours();
6
+ c==0?c=12:c>12&&(c-=12);return c}function s(c){var a=c%10;c%=100;if(c>=11&&c<=13||a===0||a>=4)return"th";switch(a){case 1:return"st";case 2:return"nd";case 3:return"rd"}}function m(c,a){var a=a||"sunday",b=c.getDay();a=="monday"&&(b==0?b=6:b--);var e=new Date(c.getFullYear(),0,1);return Math.floor(((c-e)/864E5+7-b)/7)}var e;e=typeof module!=="undefined"?module.exports=i:function(){return this||(0,eval)("this")}();var o={days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),
7
+ months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm"};e.strftime=i;e.strftimeTZ=i.strftimeTZ=function(c,a,b,e){if((typeof b=="number"||typeof b=="string")&&e==null)e=b,b=void 0;return g(c,a,b,{timezone:e})};e.strftimeUTC=i.strftimeUTC=function(c,a,b){return g(c,a,b,{utc:!0})};e.localizedStrftime=i.localizedStrftime=function(c){return function(a,
8
+ b){return g(a,b,c)}};var k=["getTime","getTimezoneOffset","getDay","getDate","getMonth","getFullYear","getYear","getHours","getMinutes","getSeconds"]})();
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.2
4
+ version: 0.2.3
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Kouji Takao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-01 00:00:00.000000000 Z
11
+ date: 2015-02-10 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.3
201
+ version: 0.1.4
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.3
208
+ version: 0.1.4
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: bundler
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -283,7 +283,7 @@ files:
283
283
  - app/assets/javascripts/models/.keep
284
284
  - app/assets/javascripts/models/character.js.coffee
285
285
  - app/assets/javascripts/models/scene.js.coffee
286
- - app/assets/javascripts/models/source_code.js.coffee
286
+ - app/assets/javascripts/models/source_code.js
287
287
  - app/assets/javascripts/msg/en_us.js
288
288
  - app/assets/javascripts/msg/ja.js
289
289
  - app/assets/javascripts/routers/.keep
@@ -301,6 +301,7 @@ files:
301
301
  - app/assets/stylesheets/load-modal.css.scss
302
302
  - app/assets/stylesheets/toolbox.css.scss.erb
303
303
  - app/assets/stylesheets/toolbox_default.css.scss.erb
304
+ - app/assets/stylesheets/toolbox_raspberrypi.css.scss.erb
304
305
  - app/assets/stylesheets/toolbox_smalrubot_s1.css.scss.erb
305
306
  - app/assets/stylesheets/toolbox_smalrubot_v3.css.scss.erb
306
307
  - app/assets/templates/.keep
@@ -346,12 +347,16 @@ files:
346
347
  - app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb
347
348
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action.rb
348
349
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action_with_sec.rb
350
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb
351
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb
349
352
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_ir_photoreflector_value.rb
350
353
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_led_turn_on_or_off.rb
351
354
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb
352
355
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb
353
356
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_led_turn_on_or_off.rb
354
357
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb
358
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb
359
+ - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_speed.rb
355
360
  - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb
356
361
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb
357
362
  - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb
@@ -407,6 +412,7 @@ files:
407
412
  - app/views/editor/_reset_modal.html.haml
408
413
  - app/views/editor/_signin_modal.html.haml
409
414
  - app/views/editor/_toolbox_default.html.haml
415
+ - app/views/editor/_toolbox_raspberrypi.html.haml
410
416
  - app/views/editor/_toolbox_smalrubot_s1.html.haml
411
417
  - app/views/editor/_toolbox_smalrubot_v3.html.haml
412
418
  - app/views/editor/demo.html.erb
@@ -466,10 +472,10 @@ files:
466
472
  - public/422.html
467
473
  - public/500.html
468
474
  - public/apple-touch-icon.png
469
- - public/assets/application-71c4890fe0ea2e896fc0acff41cdb0ad.js
470
- - public/assets/application-71c4890fe0ea2e896fc0acff41cdb0ad.js.gz
471
475
  - public/assets/application-c196e243630d74071981a16041bf391d.css
472
476
  - public/assets/application-c196e243630d74071981a16041bf391d.css.gz
477
+ - public/assets/application-eece3e01e35f8f689e2e282a168f6059.js
478
+ - public/assets/application-eece3e01e35f8f689e2e282a168f6059.js.gz
473
479
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
474
480
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js.gz
475
481
  - public/assets/blockly/msg/js/ja-9f676d46458a2802b8f5a797c90ae8a4.js
@@ -490,16 +496,18 @@ files:
490
496
  - public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
491
497
  - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
492
498
  - public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
493
- - public/assets/manifest-f3d29c6d66b959abe4294a899733e4f0.json
494
- - public/assets/msg/en_us-213fb4a57884078038725a2991776f47.js
495
- - public/assets/msg/en_us-213fb4a57884078038725a2991776f47.js.gz
496
- - public/assets/msg/ja-aeface7456b479021e977a0387204036.js
497
- - public/assets/msg/ja-aeface7456b479021e977a0387204036.js.gz
499
+ - public/assets/manifest-8e00411c7cb501aff0a597682558b4a3.json
500
+ - public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js
501
+ - public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js.gz
502
+ - public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js
503
+ - public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js.gz
498
504
  - public/assets/progressbar-ee8fb1222f286f625bbf7332844a6a0c.gif
499
505
  - public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css
500
506
  - public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css.gz
501
- - public/assets/toolbox_smalrubot_s1-18d28dc4b99723b60a3f538b742027df.css
502
- - public/assets/toolbox_smalrubot_s1-18d28dc4b99723b60a3f538b742027df.css.gz
507
+ - public/assets/toolbox_raspberrypi-c25b8ac975fbc79031ecf87e74027694.css
508
+ - public/assets/toolbox_raspberrypi-c25b8ac975fbc79031ecf87e74027694.css.gz
509
+ - public/assets/toolbox_smalrubot_s1-9af26ff13d4496890c4a391f65f95bcd.css
510
+ - public/assets/toolbox_smalrubot_s1-9af26ff13d4496890c4a391f65f95bcd.css.gz
503
511
  - public/assets/toolbox_smalrubot_v3-9af26ff13d4496890c4a391f65f95bcd.css
504
512
  - public/assets/toolbox_smalrubot_v3-9af26ff13d4496890c4a391f65f95bcd.css.gz
505
513
  - public/blockly/media/1x1.gif
@@ -583,6 +591,7 @@ files:
583
591
  - spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
584
592
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature
585
593
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature
594
+ - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature
586
595
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature
587
596
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature
588
597
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
@@ -666,6 +675,7 @@ files:
666
675
  - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
667
676
  - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
668
677
  - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb
678
+ - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb
669
679
  - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
670
680
  - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
671
681
  - spec/models/concerns/ruby_to_block/block/looks_spec.rb
@@ -700,6 +710,7 @@ files:
700
710
  - vendor/assets/javascripts/blockly/msg/js/en_us.js
701
711
  - vendor/assets/javascripts/blockly/msg/js/ja.js
702
712
  - vendor/assets/javascripts/jquery.blockUI.js
713
+ - vendor/assets/javascripts/strftime-min.js
703
714
  - vendor/assets/stylesheets/.keep
704
715
  homepage: https://github.com/smalruby/smalruby-editor
705
716
  licenses:
@@ -760,6 +771,7 @@ test_files:
760
771
  - spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
761
772
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature
762
773
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature
774
+ - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature
763
775
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature
764
776
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature
765
777
  - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
@@ -843,6 +855,7 @@ test_files:
843
855
  - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
844
856
  - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
845
857
  - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb
858
+ - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb
846
859
  - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
847
860
  - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
848
861
  - spec/models/concerns/ruby_to_block/block/looks_spec.rb
@@ -1,80 +0,0 @@
1
- # ソースコードを表現するモデル
2
- Smalruby.SourceCode = Backbone.Model.extend
3
- defaults:
4
- filename: null
5
- data: null
6
-
7
- initialize: ->
8
- unless @get('filename')
9
- filename = Smalruby.Views.MainMenuView.getFilename()
10
- if filename.length == 0
11
- c = Smalruby.Collections.CharacterSet.first()
12
- if c
13
- filename = "#{c.get('name')}.rb"
14
- else
15
- filename = '1.rb'
16
- @set('filename', filename)
17
-
18
- unless @get('data')
19
- if @get('filename').match(/\.xml$/)
20
- data = Smalruby.dumpXml()
21
- else
22
- if window.blockMode
23
- data = Blockly.Ruby.workspaceToCode()
24
- else
25
- data = window.textEditor.getSession().getDocument().getValue()
26
-
27
- @set('data', data)
28
-
29
- getRbxmlFilename: ->
30
- filename = @get('filename')
31
- if filename.match(/\.rb\.xml$/)
32
- filename
33
- else
34
- if filename.match(/\.rb$/)
35
- filename + '.xml'
36
- else if filename.match(/\.xml$/)
37
- filename.replace(/\.xml$/, '.rb.xml')
38
- else
39
- filename + '.rb.xml'
40
-
41
- run: ->
42
- @post_('run')
43
-
44
- check: ->
45
- @post_('check')
46
-
47
- save2: ->
48
- @post_('')
49
-
50
- write: (force = false) ->
51
- action = 'write'
52
- action += '?force=1' if force
53
- @delete_(action)
54
-
55
- toBlocks: ->
56
- @post_('to_blocks', 'html')
57
-
58
- post_: (action, dataType = 'json') ->
59
- dfr = $.Deferred()
60
- $.ajax
61
- url: "/source_codes/#{action}"
62
- type: 'POST'
63
- data:
64
- source_code:
65
- filename: @get('filename')
66
- data: @get('data')
67
- dataType: dataType
68
- success: (data, textStatus, jqXHR) -> dfr.resolve(data)
69
- error: dfr.reject
70
- dfr.promise()
71
-
72
- delete_: (action) ->
73
- dfr = $.Deferred()
74
- $.ajax
75
- url: "/source_codes/#{action}"
76
- type: 'DELETE'
77
- dataType: 'json'
78
- success: (data, textStatus, jqXHR) -> dfr.resolve(data)
79
- error: dfr.reject
80
- dfr.promise()