module RapidRunty::Model::BaseQueries
Public Class Methods
included(base)
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 4 def self.included(base) base.extend(ClassMethods) end
Public Instance Methods
destroy()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 81 def destroy DB.execute_query("DELETE FROM #{get_table_name} WHERE id = ?", id) end
save()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 64 def save if id DB.execute_query( "UPDATE #{get_table_name} SET #{update_placeholders} WHERE id = ?", entity_values << id ) else DB.execute_query( "INSERT INTO #{get_table_name} (#{get_table_columns}) VALUES (#{new_placeholders})", entity_values ) end true end
Also aliased as: save!
Private Instance Methods
entity_values()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 95 def entity_values get_columns.map(&method(:send)) end
get_columns()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 107 def get_columns columns ||= get_properties.keys columns.delete(:id) columns end
get_properties()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 87 def get_properties self.class.instance_variable_get(:@property) end
get_table_columns()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 113 def get_table_columns get_columns.map(&:to_s).join(', ') end
get_table_name()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 91 def get_table_name self.class.instance_variable_get(:@table) end
new_placeholders()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 103 def new_placeholders (['?'] * (get_properties.keys.size - 1)).join(', ') end
update_placeholders()
click to toggle source
# File lib/rapid_runty/model/base_queries.rb, line 99 def update_placeholders get_columns.map { |column| "#{column} = ?" }.join(',') end