Module: Tire::Model::Persistence::Storage::InstanceMethods
- Defined in:
- lib/tire/model/persistence/storage.rb
Instance Method Summary collapse
- #destroy ⇒ Object
- #destroyed? ⇒ Boolean
- #new_record? ⇒ Boolean
- #persisted? ⇒ Boolean
- #save ⇒ Object
- #update_attribute(name, value) ⇒ Object
- #update_attributes(attributes = {}) ⇒ Object
- #update_index ⇒ Object
Instance Method Details
#destroy ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/tire/model/persistence/storage.rb', line 68 def destroy run_callbacks :destroy do @destroyed = true response = update_index ! response.nil? end end |
#destroyed? ⇒ Boolean
76 |
# File 'lib/tire/model/persistence/storage.rb', line 76 def destroyed? ; !!@destroyed; end |
#new_record? ⇒ Boolean
78 |
# File 'lib/tire/model/persistence/storage.rb', line 78 def new_record? ; !persisted?; end |
#persisted? ⇒ Boolean
77 |
# File 'lib/tire/model/persistence/storage.rb', line 77 def persisted? ; !!id && !!_version; end |
#save ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/tire/model/persistence/storage.rb', line 60 def save return false unless valid? run_callbacks :save do response = update_index !! response['ok'] end end |
#update_attribute(name, value) ⇒ Object
33 34 35 36 |
# File 'lib/tire/model/persistence/storage.rb', line 33 def update_attribute(name, value) __update_attributes name => value save end |
#update_attributes(attributes = {}) ⇒ Object
38 39 40 41 |
# File 'lib/tire/model/persistence/storage.rb', line 38 def update_attributes(attributes={}) __update_attributes attributes save end |
#update_index ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/tire/model/persistence/storage.rb', line 43 def update_index run_callbacks :update_elasticsearch_index do if destroyed? response = index.remove self else if response = index.store( self, {:percolate => percolator} ) self.id ||= response['_id'] self._index = response['_index'] self._type = response['_type'] self._version = response['_version'] self.matches = response['matches'] end end response end end |