Class: BrowSql::Table
- Defined in:
- app/model/brow_sql/table.rb
Class Method Summary collapse
-
.sti_name ⇒ Object
Override.
Instance Method Summary collapse
- #column_changes ⇒ Object
- #columns ⇒ Object
- #columns=(new_columns) ⇒ Object
- #columns_must_be_unique ⇒ Object
- #find_record(id) ⇒ Object
- #records ⇒ Object
Class Method Details
.sti_name ⇒ Object
Override
19 20 21 |
# File 'app/model/brow_sql/table.rb', line 19 def self.sti_name #Override "table" end |
Instance Method Details
#column_changes ⇒ Object
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 |
#columns ⇒ Object
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_unique ⇒ Object
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 |