# File lib/couchrest/casted_model.rb, line 23 def [] key super(key.to_s) end
# File lib/couchrest/casted_model.rb, line 19 def []= key, value super(key.to_s, value) end
Gets a reference to the top level extended document that a model is saved inside of
# File lib/couchrest/casted_model.rb, line 29 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
# File lib/couchrest/casted_model.rb, line 36 def new? @casted_by.nil? ? true : @casted_by.new? end
Sets the attributes from a hash
# File lib/couchrest/casted_model.rb, line 42 def update_attributes_without_saving(hash) hash.each do |k, v| raise NoMethodError, "#{k}= method not available, use property :#{k}" unless self.respond_to?("#{k}=") end hash.each do |k, v| self.send("#{k}=",v) end end
# File lib/couchrest/casted_model.rb, line 4 def self.included(base) base.send(:include, ::CouchRest::Mixins::Callbacks) base.send(:include, ::CouchRest::Mixins::Properties) base.send(:attr_accessor, :casted_by) end
# File lib/couchrest/casted_model.rb, line 10 def initialize(keys={}) raise StandardError unless self.is_a? Hash apply_all_property_defaults # defined in CouchRest::Mixins::Properties super() keys.each do |k,v| write_attribute(k.to_s, v) end if keys end