class Matrack::DataManager

Public Class Methods

allowed_field_types() click to toggle source
# File lib/orm/data_manager.rb, line 30
def allowed_field_types
  ["int", "str", "time", "date"]
end
create_table_fields(table_name, qry_str) click to toggle source
# File lib/orm/data_manager.rb, line 34
def create_table_fields(table_name, qry_str)
  begin
    db_conn.execute "CREATE TABLE IF NOT EXISTS #{table_name} (#{qry_str});"
  rescue
    puts db_error("Can not create table")
    exit
  end
end
db_conn() click to toggle source
# File lib/orm/data_manager.rb, line 8
def db_conn
  db = SQLite3::Database.new "#{APP_PATH}/db/app.sqlite3"
  db.results_as_hash = true
  db
end
db_error(message) click to toggle source
# File lib/orm/data_manager.rb, line 14
def db_error(message)
  DataUtility.db_error(message)
end
password_hash(password) click to toggle source
# File lib/orm/data_manager.rb, line 52
def password_hash(password)
  Digest::SHA1.hexdigest(password)
end
query_builder(name, type, desc) click to toggle source
# File lib/orm/data_manager.rb, line 18
def query_builder(name, type, desc)
  name = name.join
  type = type.join
  primary_key = "PRIMARY KEY" if desc[:primary_key] == true
  primary_key += " AUTOINCREMENT" if desc[:primary_key] == true &&
                                     type == "INTEGER"
  primary_key = primary_key ? primary_key : ""
  null_value = desc[:nullable].nil? ? "NULL" : "NOT NULL"
  null_value = "NOT NULL" if desc[:primary_key] == true
  "#{name} #{type} #{primary_key} #{null_value}"
end
valid_col_types?(field_hash) click to toggle source
# File lib/orm/data_manager.rb, line 48
def valid_col_types?(field_hash)
  field_hash.values.all? { |val| allowed_field_types.include? val.to_s }
end
verify_col_type(field_hash) click to toggle source
# File lib/orm/data_manager.rb, line 43
def verify_col_type(field_hash)
  return true if valid_col_types?(field_hash)
  "Invalid column type(s) specified"
end