class EnumTable::SchemaStatements::Table

Public Class Methods

new(connection, name, max_id=nil) click to toggle source
# File lib/enum_table/schema_statements.rb, line 67
def initialize(connection, name, max_id=nil)
  @connection = connection
  @name = name
  @max_id = @connection.execute("SELECT max(id) FROM #{@connection.quote_table_name @name}").to_a[0][0] || 0
end

Public Instance Methods

add(value, id=nil) click to toggle source
# File lib/enum_table/schema_statements.rb, line 73
def add(value, id=nil)
  id ||= @max_id + 1
  @max_id = id if id > @max_id
  @connection.execute "INSERT INTO #{@connection.quote_table_name @name}(id, value) VALUES(#{id}, #{@connection.quote value})"
end
remove(value) click to toggle source
# File lib/enum_table/schema_statements.rb, line 79
def remove(value)
  @connection.execute "DELETE FROM #{@connection.quote_table_name @name} WHERE value = #{@connection.quote value}"
end