Sha256: e2ddee5d048860ec02bd15bc3d020039971bb173761bbfd4c9d4ac55445803a2
Contents?: true
Size: 1.52 KB
Versions: 17
Compression:
Stored size: 1.52 KB
Contents
# ソースコードを表現するモデル Smalruby.SourceCode = Backbone.Model.extend defaults: filename: null data: null initialize: -> unless @get('filename') filename = Smalruby.Views.MainMenuView.getFilename() if filename.length == 0 c = Smalruby.Collections.CharacterSet.first() if c filename = "#{c.get('name')}.rb" else filename = '1.rb' @set('filename', filename) if @get('filename').match(/\.xml$/) data = Smalruby.dumpXml() else if window.blockMode data = Blockly.Ruby.workspaceToCode() else data =window.textEditor.getSession().getDocument().getValue() @set('data', data) run: -> @post_('run') check: -> @post_('check') save2: -> @post_('') write: (force = false) -> action = 'write' action += '?force=1' if force @delete_(action) toBlocks: -> @post_('to_blocks', 'html') post_: (action, dataType = 'json') -> dfr = $.Deferred() $.ajax url: "/source_codes/#{action}" type: 'POST' data: source_code: filename: @get('filename') data: @get('data') dataType: dataType success: (data, textStatus, jqXHR) -> dfr.resolve(data) error: dfr.reject dfr.promise() delete_: (action) -> dfr = $.Deferred() $.ajax url: "/source_codes/#{action}" type: 'DELETE' dataType: 'json' success: (data, textStatus, jqXHR) -> dfr.resolve(data) error: dfr.reject dfr.promise()
Version data entries
17 entries across 17 versions & 1 rubygems