Module: CouchRest::CastedModel
- Defined in:
- lib/couchrest/casted_model.rb
Class Method Summary collapse
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#base_doc ⇒ Object
Gets a reference to the top level extended document that a model is saved inside of.
- #initialize(keys = {}) ⇒ Object
-
#new? ⇒ Boolean
(also: #new_record?)
False if the casted model has already been saved in the containing document.
-
#update_attributes_without_saving(hash) ⇒ Object
(also: #attributes=)
Sets the attributes from a hash.
Class Method Details
Instance Method Details
#[](key) ⇒ Object
25 26 27 |
# File 'lib/couchrest/casted_model.rb', line 25 def [] key super(key.to_s) end |
#[]=(key, value) ⇒ Object
21 22 23 |
# File 'lib/couchrest/casted_model.rb', line 21 def []= key, value super(key.to_s, value) end |
#base_doc ⇒ Object
Gets a reference to the top level extended document that a model is saved inside of
31 32 33 34 |
# File 'lib/couchrest/casted_model.rb', line 31 def base_doc return nil unless @casted_by @casted_by.base_doc end |
#initialize(keys = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/couchrest/casted_model.rb', line 11 def initialize(keys={}) raise StandardError unless self.is_a? Hash apply_defaults # defined in CouchRest::Mixins::Properties super() keys.each do |k,v| self[k.to_s] = v end if keys cast_keys # defined in CouchRest::Mixins::Properties end |
#new? ⇒ Boolean Also known as: new_record?
False if the casted model has already been saved in the containing document
38 39 40 |
# File 'lib/couchrest/casted_model.rb', line 38 def new? !@document_saved end |
#update_attributes_without_saving(hash) ⇒ Object Also known as: attributes=
Sets the attributes from a hash
44 45 46 47 48 49 50 51 |
# File 'lib/couchrest/casted_model.rb', line 44 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 |