Sha256: c5067a994567bbc9aa6eace969c7bfde4e7136fee87081c130af6a8b848223c4
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
class Ponytail.Models.Table extends Backbone.Model defaults: name: "new_table" columns: [] isDrop: false isCreated: false initialize: (attrs, options) -> @beforeName = attrs.name || "" isCreated: -> @.get("isCreated") == true isDrop: -> @.get("isDrop") == true isRename: -> @.beforeName != @.get("name") addColumn: (column) -> columns = @.get("columns") columns.push(column) @.set({columns: columns}) @.trigger("change") getCommands: -> if (@.isCreated() && @.isDrop()) [] else if (@.isCreated() && !@.isDrop()) columns = (column for column in @.get("columns") when !column.isRemoved()) [new Ponytail.Models.CreateTableCommand(@.get("name"), columns)] else if (!@.isCreated() && @.isDrop()) [new Ponytail.Models.DropTableCommand(@.beforeName)] else commands = [] if @.isRename() commands.push(new Ponytail.Models.RenameTableCommand(@beforeName, @.get("name"))) for column in @.get("columns") commands.push(column.getCommands()) _.compact(_.flatten(commands))
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ponytail-0.5.0 | app/assets/javascripts/ponytail/models/table.coffee |
ponytail-0.4.0 | app/assets/javascripts/ponytail/models/table.coffee |