module Quandl::Cassandra::Base::Persistence
Attributes
new_record[RW]
Public Instance Methods
delete()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 59 def delete return false if new_record? self.class.delete(id) end
destroy()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 52 def destroy return false if new_record? run_callbacks :destroy do self.class.delete(id) end end
new_record=(value)
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 83 def new_record=(value) @new_record = (value == true) end
new_record?()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 74 def new_record? new_record end
save()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 36 def save return false if self.class.autosave_changes && !primary_key? run_callbacks :save do touch save_changes! if self.class.autosave_changes == true cycle_changes! self.new_record = false true end end
save!()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 32 def save! save end
touch()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 47 def touch self.created_at = Time.now if respond_to?(:created_at=) && created_at.blank? self.updated_at = Time.now if respond_to?(:updated_at=) end
update_attributes(values)
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 64 def update_attributes(values) values = self.class.sanitize_attributes(values) # add primary key parts to values self.class.primary_key.each do |attribute| values[attribute.to_s] = sanitized_attribute(attribute) unless values.has_key?(attribute.to_s) end # update self.class.execute("INSERT INTO #{self.class.table_name} (#{values.keys.join(', ')}) VALUES (#{values.values.join(', ')})") end
Private Instance Methods
reload_attributes()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 89 def reload_attributes self.attributes = self.class.where(primary_key_attributes).limit(1).to_h.first end
save_changes!()
click to toggle source
# File lib/quandl/cassandra/base/persistence.rb, line 93 def save_changes! attrs = {} changes.each{|k,v| attrs[k] = v[1] } update_attributes(attrs) end