Module: ActiveRecord::Persistence
- Included in:
- Base
- Defined in:
- lib/jun/active_record/persistence.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
5 6 7 |
# File 'lib/jun/active_record/persistence.rb', line 5 def self.included(klass) klass.extend(ClassMethods) end |
Instance Method Details
#new_record? ⇒ Boolean
38 39 40 |
# File 'lib/jun/active_record/persistence.rb', line 38 def new_record? @new_record end |
#persisted? ⇒ Boolean
42 43 44 |
# File 'lib/jun/active_record/persistence.rb', line 42 def persisted? !new_record? end |
#save ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/jun/active_record/persistence.rb', line 26 def save if new_record? result = self.class.connection.execute("INSERT INTO #{self.class.table_name} (#{@attributes.keys.join(",")}) VALUES (#{@attributes.values.map { |v| "'#{v}'" }.join(",")}) RETURNING *;") @attributes[self.class.primary_key] = result.first[self.class.primary_key] @new_record = false else self.class.connection.execute("UPDATE #{self.class.table_name} SET #{@attributes.map { |k, v| "#{k} = #{v}" }.join(",")} WHERE id = #{id};") end true end |