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

Version Path
smalruby-editor-0.1.14-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.14 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.13-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.13 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.12-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.12 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.11-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.10-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.10 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.9-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.9 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.8-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.8 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.7-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.7 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.6-x86-mingw32 app/assets/javascripts/models/source_code.js.coffee
smalruby-editor-0.1.6 app/assets/javascripts/models/source_code.js.coffee