lib/couchrest/model/casted_model.rb in couchrest_model-1.1.0.beta2 vs lib/couchrest/model/casted_model.rb in couchrest_model-1.1.0.beta3
- old
+ new
@@ -8,34 +8,36 @@
include CouchRest::Model::Callbacks
include CouchRest::Model::Properties
include CouchRest::Model::PropertyProtection
include CouchRest::Model::Associations
include CouchRest::Model::Validations
- attr_accessor :casted_by
+ include CouchRest::Model::Dirty
+ # attr_accessor :casted_by
end
-
+
def initialize(keys = {})
raise StandardError unless self.is_a? Hash
prepare_all_attributes(keys)
super()
end
-
+
def []= key, value
+ couchrest_attribute_will_change!(key) if self[key] != value
super(key.to_s, value)
end
-
+
def [] key
super(key.to_s)
end
-
+
# Gets a reference to the top level extended
# document that a model is saved inside of
def base_doc
return nil unless @casted_by
@casted_by.base_doc
end
-
+
# False if the casted model has already
# been saved in the containing document
def new?
@casted_by.nil? ? true : @casted_by.new?
end
@@ -62,7 +64,8 @@
hash.each do |k, v|
self.send("#{k}=",v)
end
end
alias :attributes= :update_attributes_without_saving
+
end
end