Module: Modis::Persistence
- Defined in:
- lib/modis/persistence.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #destroy ⇒ Object
- #key ⇒ Object
- #new_record? ⇒ Boolean
- #persisted? ⇒ Boolean
- #reload ⇒ Object
- #save(args = {}) ⇒ Object
- #save!(args = {}) ⇒ Object
- #update_attribute(name, value) ⇒ Object
- #update_attributes(attrs) ⇒ Object
- #update_attributes!(attrs) ⇒ Object
Class Method Details
.included(base) ⇒ Object
3 4 5 |
# File 'lib/modis/persistence.rb', line 3 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#destroy ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/modis/persistence.rb', line 88 def destroy self.class.transaction do |redis| run_callbacks :destroy do redis.del(key) untrack(id, redis) end end end |
#key ⇒ Object
68 69 70 |
# File 'lib/modis/persistence.rb', line 68 def key new_record? ? nil : self.class.key_for(id) end |
#new_record? ⇒ Boolean
72 73 74 |
# File 'lib/modis/persistence.rb', line 72 def new_record? defined?(@new_record) ? @new_record : true end |
#persisted? ⇒ Boolean
64 65 66 |
# File 'lib/modis/persistence.rb', line 64 def persisted? true end |
#reload ⇒ Object
97 98 99 100 101 |
# File 'lib/modis/persistence.rb', line 97 def reload new_attributes = self.class.attributes_for(id) initialize(new_attributes) self end |
#save(args = {}) ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/modis/persistence.rb', line 76 def save(args={}) begin create_or_update(args) rescue Modis::RecordInvalid false end end |
#save!(args = {}) ⇒ Object
84 85 86 |
# File 'lib/modis/persistence.rb', line 84 def save!(args={}) create_or_update(args) || (raise RecordNotSaved) end |
#update_attribute(name, value) ⇒ Object
103 104 105 106 |
# File 'lib/modis/persistence.rb', line 103 def update_attribute(name, value) assign_attributes(name => value) save(validate: false) end |
#update_attributes(attrs) ⇒ Object
108 109 110 111 |
# File 'lib/modis/persistence.rb', line 108 def update_attributes(attrs) assign_attributes(attrs) save end |
#update_attributes!(attrs) ⇒ Object
113 114 115 116 |
# File 'lib/modis/persistence.rb', line 113 def update_attributes!(attrs) assign_attributes(attrs) save! end |