Module: Quandl::Cassandra::Base::Persistence
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/quandl/cassandra/base/persistence.rb
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary collapse
-
#new_record ⇒ Object
Returns the value of attribute new_record.
Instance Method Summary collapse
- #delete ⇒ Object
- #destroy ⇒ Object
- #new_record? ⇒ Boolean
- #save ⇒ Object
- #save! ⇒ Object
- #touch ⇒ Object
- #update_attributes(values) ⇒ Object
Instance Attribute Details
#new_record ⇒ Object
Returns the value of attribute new_record.
30 31 32 |
# File 'lib/quandl/cassandra/base/persistence.rb', line 30 def new_record @new_record end |
Instance Method Details
#delete ⇒ Object
59 60 61 62 |
# File 'lib/quandl/cassandra/base/persistence.rb', line 59 def delete return false if new_record? self.class.delete(id) end |
#destroy ⇒ Object
52 53 54 55 56 57 |
# 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? ⇒ Boolean
74 75 76 |
# File 'lib/quandl/cassandra/base/persistence.rb', line 74 def new_record? new_record end |
#save ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# 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! ⇒ Object
32 33 34 |
# File 'lib/quandl/cassandra/base/persistence.rb', line 32 def save! save end |
#touch ⇒ Object
47 48 49 50 |
# 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) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# 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 |