Sha256: 0aa2c469da056bfa0a527b97b089d43efbf27d14ebc217ac54d85612f7954fa9
Contents?: true
Size: 827 Bytes
Versions: 2
Compression:
Stored size: 827 Bytes
Contents
module Cql::Model::PersistenceMethods extend ::ActiveSupport::Concern def save updates = [] self.class.columns.each do |key, config| value = instance_variable_get("@#{config[:attribute_name].to_s}".to_sym) value = "'#{value}'" unless value.is_a?(Fixnum) updates << "#{key.to_s} = #{value}" unless value.nil? end updates = updates.join(', ') query = "UPDATE #{table_name} SET #{updates} WHERE #{primary_key} = #{quoted_primary_value}" Cql::Base.connection.execute(query) @persisted = true self end def deleted? @deleted end def delete query = "DELETE FROM #{table_name} WHERE #{primary_key} = #{quoted_primary_value}" Cql::Base.connection.execute(query) @deleted = true @persisted = false self end module ClassMethods end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cql_model-0.0.5 | lib/cql/model/persistence_methods.rb |
cql_model-0.0.4 | lib/cql/model/persistence_methods.rb |