fixed some serious issues but left some for tomorrow (validations aren't working right)
This commit is contained in:
parent
bc47e72ae0
commit
e448112ff6
8 changed files with 89 additions and 48 deletions
|
@ -14,11 +14,14 @@ module CouchRest
|
|||
# Same as CouchRest::Document but with properties and validations
|
||||
class ExtendedDocument < Document
|
||||
include CouchRest::Callbacks
|
||||
include CouchRest::Mixins::DocumentQueries
|
||||
include CouchRest::Mixins::Properties
|
||||
include CouchRest::Mixins::DocumentQueries
|
||||
include CouchRest::Mixins::Views
|
||||
include CouchRest::Mixins::DesignDoc
|
||||
|
||||
def self.inherited(subklass)
|
||||
subklass.send(:include, CouchRest::Mixins::Properties)
|
||||
end
|
||||
|
||||
# Callbacks
|
||||
define_callbacks :save
|
||||
define_callbacks :destroy
|
||||
|
@ -38,8 +41,8 @@ module CouchRest
|
|||
# decent time format by default. See Time#to_json
|
||||
def self.timestamps!
|
||||
class_eval <<-EOS, __FILE__, __LINE__
|
||||
property(:updated_at, :read_only => true, :cast_as => 'Time')
|
||||
property(:created_at, :read_only => true, :cast_as => 'Time')
|
||||
property(:updated_at, :read_only => true, :cast_as => 'Time', :auto_validation => false)
|
||||
property(:created_at, :read_only => true, :cast_as => 'Time', :auto_validation => false)
|
||||
|
||||
save_callback :before do |object|
|
||||
object['updated_at'] = Time.now
|
||||
|
@ -115,7 +118,7 @@ module CouchRest
|
|||
# Overridden to set the unique ID.
|
||||
# Returns a boolean value
|
||||
def save_without_callbacks(bulk = false)
|
||||
raise ArgumentError, "a document requires database to be saved to" unless database
|
||||
raise ArgumentError, "a document requires a database to be saved to" unless database
|
||||
set_unique_id if new_document? && self.respond_to?(:set_unique_id)
|
||||
result = database.save_doc(self, bulk)
|
||||
result["ok"] == true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue