Class: BrowSql::Table

Inherits:
Base
  • Object
show all
Defined in:
app/model/brow_sql/table.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.sti_nameObject

Override



19
20
21
# File 'app/model/brow_sql/table.rb', line 19

def self.sti_name #Override
  "table"
end

Instance Method Details

#column_changesObject



38
39
40
41
# File 'app/model/brow_sql/table.rb', line 38

def column_changes
  @column_changes ||= []
  @column_changes.map{|k,v| v }
end

#columnsObject



34
35
36
# File 'app/model/brow_sql/table.rb', line 34

def columns
  klass.columns
end

#columns=(new_columns) ⇒ Object



43
44
45
# File 'app/model/brow_sql/table.rb', line 43

def columns=(new_columns)
  @column_changes = new_columns.reject{|k, v| v.current_name == v.name }
end

#columns_must_be_uniqueObject



11
12
13
14
15
16
17
# File 'app/model/brow_sql/table.rb', line 11

def columns_must_be_unique
  column_changes.each do |column|
    if columns.map(&:name).include? column.name
      errors.add(:base, "Another column with the same name, already exists")
    end
  end
end

#find_record(id) ⇒ Object



27
28
29
30
31
32
# File 'app/model/brow_sql/table.rb', line 27

def find_record(id)
  records.map do |record|
    return record if record.id == id.to_i
  end
  return nil
end

#recordsObject



23
24
25
# File 'app/model/brow_sql/table.rb', line 23

def records
  BrowSql::Record.all(self)
end