Module: MotionDataWrapper::Model::Persistence
- Included in:
- MotionDataWrapper::Model
- Defined in:
- lib/motion_data_wrapper/model/persistence.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #awakeFromFetch ⇒ Object
- #awakeFromInsert ⇒ Object
- #destroy ⇒ Object
- #destroyed? ⇒ Boolean
- #new_record? ⇒ Boolean
- #persisted? ⇒ Boolean
- #save ⇒ Object
- #save! ⇒ Object
Class Method Details
.included(base) ⇒ Object
5 6 7 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 5 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#awakeFromFetch ⇒ Object
36 37 38 39 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 36 def awakeFromFetch super after_fetch if respond_to? :after_fetch end |
#awakeFromInsert ⇒ Object
41 42 43 44 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 41 def awakeFromInsert super after_fetch if respond_to? :after_fetch end |
#destroy ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 46 def destroy if context = managedObjectContext before_destroy_callback context.deleteObject(self) error = Pointer.new(:object) if context.save(error) @destroyed = true after_destroy_callback freeze end end end |
#destroyed? ⇒ Boolean
61 62 63 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 61 def destroyed? @destroyed || false end |
#new_record? ⇒ Boolean
65 66 67 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 65 def new_record? @new_record || false end |
#persisted? ⇒ Boolean
69 70 71 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 69 def persisted? !(new_record? || destroyed?) end |
#save ⇒ Object
73 74 75 76 77 78 79 80 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 73 def save begin save! rescue MotionDataWrapper::RecordNotSaved return false end true end |
#save! ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/motion_data_wrapper/model/persistence.rb', line 82 def save! unless context = managedObjectContext context = App.delegate.managedObjectContext context.insertObject(self) end before_save_callback error = Pointer.new(:object) unless context.save(error) managedObjectContext.deleteObject(self) raise MotionDataWrapper::RecordNotSaved, self and return false end instance_variable_set('@new_record', false) after_save_callback true end |