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