smalruby-editor 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of smalruby-editor might be problematic. Click here for more details.
- checksums.yaml +4 -4
 - data/.rubocop.yml +3 -0
 - data/Guardfile +2 -6
 - data/LEGAL +6 -0
 - data/README.rdoc +2 -0
 - data/app/assets/javascripts/application.js +1 -0
 - data/app/assets/javascripts/blocks/hardware.js.coffee.erb +37 -0
 - data/app/assets/javascripts/models/source_code.js +123 -0
 - data/app/assets/javascripts/msg/en_us.js +2 -0
 - data/app/assets/javascripts/msg/ja.js +2 -0
 - data/app/assets/javascripts/smalruby.js.coffee.erb +1 -1
 - data/app/assets/javascripts/views/character_modal_view.js.coffee +2 -0
 - data/app/assets/javascripts/views/character_selector_view.js.coffee +2 -2
 - data/app/assets/javascripts/views/load_modal_view.js.coffee.erb +2 -0
 - data/app/assets/javascripts/views/reset_modal_view.js.coffee +2 -0
 - data/app/assets/stylesheets/application.css +0 -0
 - data/app/assets/stylesheets/editor.css.scss +0 -0
 - data/app/assets/stylesheets/toolbox_raspberrypi.css.scss.erb +32 -0
 - data/app/assets/stylesheets/toolbox_smalrubot_s1.css.scss.erb +1 -0
 - data/app/controllers/editor_controller.rb +0 -0
 - data/app/helpers/application_helper.rb +5 -0
 - data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb +26 -0
 - data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb +21 -0
 - data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb +21 -0
 - data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_speed.rb +26 -0
 - data/app/models/source_code.rb +0 -0
 - data/app/views/editor/_toolbox_default.html.haml +7 -3
 - data/app/views/editor/_toolbox_raspberrypi.html.haml +233 -0
 - data/app/views/editor/_toolbox_smalrubot_s1.html.haml +75 -51
 - data/app/views/editor/_toolbox_smalrubot_v3.html.haml +70 -55
 - data/app/views/editor/index.html.haml +0 -6
 - data/app/views/layouts/application.html.erb +1 -0
 - data/db/schema.rb +23 -23
 - data/lib/smalruby_editor.rb +5 -1
 - data/lib/smalruby_editor/config.rb +2 -0
 - data/lib/smalruby_editor/version.rb +1 -1
 - data/smalruby-editor.gemspec +1 -1
 - data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature +116 -0
 - data/spec/javascripts/models/source_code_spec.coffee +5 -0
 - data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb +89 -1
 - data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb +433 -0
 - data/spec/models/concerns/ruby_to_block/block/hardware_spec.rb +0 -338
 - data/vendor/assets/javascripts/strftime-min.js +8 -0
 - metadata +27 -14
 - 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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Kouji Takao
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015-02- 
     | 
| 
      
 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. 
     | 
| 
      
 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. 
     | 
| 
      
 208 
     | 
    
         
            +
                    version: 0.1.4
         
     | 
| 
       209 
209 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       210 
210 
     | 
    
         
             
              name: therubyracer
         
     | 
| 
       211 
211 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -297,7 +297,7 @@ files: 
     | 
|
| 
       297 
297 
     | 
    
         
             
            - app/assets/javascripts/models/.keep
         
     | 
| 
       298 
298 
     | 
    
         
             
            - app/assets/javascripts/models/character.js.coffee
         
     | 
| 
       299 
299 
     | 
    
         
             
            - app/assets/javascripts/models/scene.js.coffee
         
     | 
| 
       300 
     | 
    
         
            -
            - app/assets/javascripts/models/source_code.js 
     | 
| 
      
 300 
     | 
    
         
            +
            - app/assets/javascripts/models/source_code.js
         
     | 
| 
       301 
301 
     | 
    
         
             
            - app/assets/javascripts/msg/en_us.js
         
     | 
| 
       302 
302 
     | 
    
         
             
            - app/assets/javascripts/msg/ja.js
         
     | 
| 
       303 
303 
     | 
    
         
             
            - app/assets/javascripts/routers/.keep
         
     | 
| 
         @@ -315,6 +315,7 @@ files: 
     | 
|
| 
       315 
315 
     | 
    
         
             
            - app/assets/stylesheets/load-modal.css.scss
         
     | 
| 
       316 
316 
     | 
    
         
             
            - app/assets/stylesheets/toolbox.css.scss.erb
         
     | 
| 
       317 
317 
     | 
    
         
             
            - app/assets/stylesheets/toolbox_default.css.scss.erb
         
     | 
| 
      
 318 
     | 
    
         
            +
            - app/assets/stylesheets/toolbox_raspberrypi.css.scss.erb
         
     | 
| 
       318 
319 
     | 
    
         
             
            - app/assets/stylesheets/toolbox_smalrubot_s1.css.scss.erb
         
     | 
| 
       319 
320 
     | 
    
         
             
            - app/assets/stylesheets/toolbox_smalrubot_v3.css.scss.erb
         
     | 
| 
       320 
321 
     | 
    
         
             
            - app/assets/templates/.keep
         
     | 
| 
         @@ -360,12 +361,16 @@ files: 
     | 
|
| 
       360 
361 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb
         
     | 
| 
       361 
362 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action.rb
         
     | 
| 
       362 
363 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action_with_sec.rb
         
     | 
| 
      
 364 
     | 
    
         
            +
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb
         
     | 
| 
      
 365 
     | 
    
         
            +
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb
         
     | 
| 
       363 
366 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_ir_photoreflector_value.rb
         
     | 
| 
       364 
367 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_led_turn_on_or_off.rb
         
     | 
| 
       365 
368 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb
         
     | 
| 
       366 
369 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb
         
     | 
| 
       367 
370 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_led_turn_on_or_off.rb
         
     | 
| 
       368 
371 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb
         
     | 
| 
      
 372 
     | 
    
         
            +
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb
         
     | 
| 
      
 373 
     | 
    
         
            +
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_speed.rb
         
     | 
| 
       369 
374 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb
         
     | 
| 
       370 
375 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb
         
     | 
| 
       371 
376 
     | 
    
         
             
            - app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb
         
     | 
| 
         @@ -421,6 +426,7 @@ files: 
     | 
|
| 
       421 
426 
     | 
    
         
             
            - app/views/editor/_reset_modal.html.haml
         
     | 
| 
       422 
427 
     | 
    
         
             
            - app/views/editor/_signin_modal.html.haml
         
     | 
| 
       423 
428 
     | 
    
         
             
            - app/views/editor/_toolbox_default.html.haml
         
     | 
| 
      
 429 
     | 
    
         
            +
            - app/views/editor/_toolbox_raspberrypi.html.haml
         
     | 
| 
       424 
430 
     | 
    
         
             
            - app/views/editor/_toolbox_smalrubot_s1.html.haml
         
     | 
| 
       425 
431 
     | 
    
         
             
            - app/views/editor/_toolbox_smalrubot_v3.html.haml
         
     | 
| 
       426 
432 
     | 
    
         
             
            - app/views/editor/demo.html.erb
         
     | 
| 
         @@ -480,10 +486,10 @@ files: 
     | 
|
| 
       480 
486 
     | 
    
         
             
            - public/422.html
         
     | 
| 
       481 
487 
     | 
    
         
             
            - public/500.html
         
     | 
| 
       482 
488 
     | 
    
         
             
            - public/apple-touch-icon.png
         
     | 
| 
       483 
     | 
    
         
            -
            - public/assets/application-71c4890fe0ea2e896fc0acff41cdb0ad.js
         
     | 
| 
       484 
     | 
    
         
            -
            - public/assets/application-71c4890fe0ea2e896fc0acff41cdb0ad.js.gz
         
     | 
| 
       485 
489 
     | 
    
         
             
            - public/assets/application-c196e243630d74071981a16041bf391d.css
         
     | 
| 
       486 
490 
     | 
    
         
             
            - public/assets/application-c196e243630d74071981a16041bf391d.css.gz
         
     | 
| 
      
 491 
     | 
    
         
            +
            - public/assets/application-eece3e01e35f8f689e2e282a168f6059.js
         
     | 
| 
      
 492 
     | 
    
         
            +
            - public/assets/application-eece3e01e35f8f689e2e282a168f6059.js.gz
         
     | 
| 
       487 
493 
     | 
    
         
             
            - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
         
     | 
| 
       488 
494 
     | 
    
         
             
            - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js.gz
         
     | 
| 
       489 
495 
     | 
    
         
             
            - public/assets/blockly/msg/js/ja-9f676d46458a2802b8f5a797c90ae8a4.js
         
     | 
| 
         @@ -504,16 +510,18 @@ files: 
     | 
|
| 
       504 
510 
     | 
    
         
             
            - public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
         
     | 
| 
       505 
511 
     | 
    
         
             
            - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
         
     | 
| 
       506 
512 
     | 
    
         
             
            - public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
         
     | 
| 
       507 
     | 
    
         
            -
            - public/assets/manifest- 
     | 
| 
       508 
     | 
    
         
            -
            - public/assets/msg/en_us- 
     | 
| 
       509 
     | 
    
         
            -
            - public/assets/msg/en_us- 
     | 
| 
       510 
     | 
    
         
            -
            - public/assets/msg/ja- 
     | 
| 
       511 
     | 
    
         
            -
            - public/assets/msg/ja- 
     | 
| 
      
 513 
     | 
    
         
            +
            - public/assets/manifest-8e00411c7cb501aff0a597682558b4a3.json
         
     | 
| 
      
 514 
     | 
    
         
            +
            - public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js
         
     | 
| 
      
 515 
     | 
    
         
            +
            - public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js.gz
         
     | 
| 
      
 516 
     | 
    
         
            +
            - public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js
         
     | 
| 
      
 517 
     | 
    
         
            +
            - public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js.gz
         
     | 
| 
       512 
518 
     | 
    
         
             
            - public/assets/progressbar-ee8fb1222f286f625bbf7332844a6a0c.gif
         
     | 
| 
       513 
519 
     | 
    
         
             
            - public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css
         
     | 
| 
       514 
520 
     | 
    
         
             
            - public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css.gz
         
     | 
| 
       515 
     | 
    
         
            -
            - public/assets/ 
     | 
| 
       516 
     | 
    
         
            -
            - public/assets/ 
     | 
| 
      
 521 
     | 
    
         
            +
            - public/assets/toolbox_raspberrypi-c25b8ac975fbc79031ecf87e74027694.css
         
     | 
| 
      
 522 
     | 
    
         
            +
            - public/assets/toolbox_raspberrypi-c25b8ac975fbc79031ecf87e74027694.css.gz
         
     | 
| 
      
 523 
     | 
    
         
            +
            - public/assets/toolbox_smalrubot_s1-9af26ff13d4496890c4a391f65f95bcd.css
         
     | 
| 
      
 524 
     | 
    
         
            +
            - public/assets/toolbox_smalrubot_s1-9af26ff13d4496890c4a391f65f95bcd.css.gz
         
     | 
| 
       517 
525 
     | 
    
         
             
            - public/assets/toolbox_smalrubot_v3-9af26ff13d4496890c4a391f65f95bcd.css
         
     | 
| 
       518 
526 
     | 
    
         
             
            - public/assets/toolbox_smalrubot_v3-9af26ff13d4496890c4a391f65f95bcd.css.gz
         
     | 
| 
       519 
527 
     | 
    
         
             
            - public/blockly/media/1x1.gif
         
     | 
| 
         @@ -597,6 +605,7 @@ files: 
     | 
|
| 
       597 
605 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
         
     | 
| 
       598 
606 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature
         
     | 
| 
       599 
607 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature
         
     | 
| 
      
 608 
     | 
    
         
            +
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature
         
     | 
| 
       600 
609 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature
         
     | 
| 
       601 
610 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature
         
     | 
| 
       602 
611 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
         
     | 
| 
         @@ -680,6 +689,7 @@ files: 
     | 
|
| 
       680 
689 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
         
     | 
| 
       681 
690 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
         
     | 
| 
       682 
691 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb
         
     | 
| 
      
 692 
     | 
    
         
            +
            - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb
         
     | 
| 
       683 
693 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
         
     | 
| 
       684 
694 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
         
     | 
| 
       685 
695 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/looks_spec.rb
         
     | 
| 
         @@ -714,6 +724,7 @@ files: 
     | 
|
| 
       714 
724 
     | 
    
         
             
            - vendor/assets/javascripts/blockly/msg/js/en_us.js
         
     | 
| 
       715 
725 
     | 
    
         
             
            - vendor/assets/javascripts/blockly/msg/js/ja.js
         
     | 
| 
       716 
726 
     | 
    
         
             
            - vendor/assets/javascripts/jquery.blockUI.js
         
     | 
| 
      
 727 
     | 
    
         
            +
            - vendor/assets/javascripts/strftime-min.js
         
     | 
| 
       717 
728 
     | 
    
         
             
            - vendor/assets/stylesheets/.keep
         
     | 
| 
       718 
729 
     | 
    
         
             
            homepage: https://github.com/smalruby/smalruby-editor
         
     | 
| 
       719 
730 
     | 
    
         
             
            licenses:
         
     | 
| 
         @@ -774,6 +785,7 @@ test_files: 
     | 
|
| 
       774 
785 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
         
     | 
| 
       775 
786 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature
         
     | 
| 
       776 
787 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature
         
     | 
| 
      
 788 
     | 
    
         
            +
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_dc_motor_power_ratio.feature
         
     | 
| 
       777 
789 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature
         
     | 
| 
       778 
790 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature
         
     | 
| 
       779 
791 
     | 
    
         
             
            - spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
         
     | 
| 
         @@ -857,6 +869,7 @@ test_files: 
     | 
|
| 
       857 
869 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/control_loop_spec.rb
         
     | 
| 
       858 
870 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb
         
     | 
| 
       859 
871 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb
         
     | 
| 
      
 872 
     | 
    
         
            +
            - spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb
         
     | 
| 
       860 
873 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/hardware_spec.rb
         
     | 
| 
       861 
874 
     | 
    
         
             
            - spec/models/concerns/ruby_to_block/block/looks_say_spec.rb
         
     | 
| 
       862 
875 
     | 
    
         
             
            - 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()
         
     |