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