Class: NanoStore::Bag
- Inherits:
-
NSFNanoBag
- Object
- NSFNanoBag
- NanoStore::Bag
- Defined in:
- lib/nano_store/bag.rb
Instance Method Summary collapse
-
#+(object_or_array) ⇒ Object
Add an object or array of objects to bag Return the bag.
-
#-(object_or_array) ⇒ Object
Add an object or array of objects to bag Return the bag.
-
#<<(object) ⇒ Object
Add an object to bag.
- #changed? ⇒ Boolean
-
#delete(object) ⇒ Object
Remove object from bag.
-
#delete_key(key) ⇒ Object
Remove object from bag with key params: key - a key or array of keys.
- #reload ⇒ Object
-
#save ⇒ Object
Saving, Reloading and Undoing.
- #undo ⇒ Object
Instance Method Details
#+(object_or_array) ⇒ Object
Add an object or array of objects to bag Return the bag
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/nano_store/bag.rb', line 28 def +(object_or_array) error_ptr = Pointer.new(:id) if object_or_array.is_a?(Array) self.addObjectsFromArray(object_or_array, error:error_ptr) else self.addObject(object_or_array, error:error_ptr) end raise NanoStoreError, error_ptr[0].description if error_ptr[0] self end |
#-(object_or_array) ⇒ Object
Add an object or array of objects to bag Return the bag
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/nano_store/bag.rb', line 59 def -(object_or_array) error_ptr = Pointer.new(:id) if object_or_array.is_a?(Array) self.removeObjectsInArray(object_or_array, error:error_ptr) else self.removeObject(object, error_ptr) end raise NanoStoreError, error_ptr[0].description if error_ptr[0] self end |
#<<(object) ⇒ Object
Add an object to bag
16 17 18 19 20 21 |
# File 'lib/nano_store/bag.rb', line 16 def <<(object) error_ptr = Pointer.new(:id) self.addObject(object, error:error_ptr) raise NanoStoreError, error_ptr[0].description if error_ptr[0] self end |
#changed? ⇒ Boolean
8 9 10 |
# File 'lib/nano_store/bag.rb', line 8 def changed? self.hasUnsavedChanges end |
#delete(object) ⇒ Object
Remove object from bag
40 41 42 43 |
# File 'lib/nano_store/bag.rb', line 40 def delete(object) self.removeObject(object) self end |
#delete_key(key) ⇒ Object
Remove object from bag with key params: key - a key or array of keys
48 49 50 51 52 53 54 55 |
# File 'lib/nano_store/bag.rb', line 48 def delete_key(key) if key.is_a?(Array) self.removeObjectsWithKeysInArray(key) else self.removeObjectWithKey(key) end self end |
#reload ⇒ Object
79 80 81 82 83 84 |
# File 'lib/nano_store/bag.rb', line 79 def reload error_ptr = Pointer.new(:id) result = self.reloadBagWithError(error_ptr) raise NanoStoreError, error_ptr[0].description if error_ptr[0] result end |
#save ⇒ Object
Saving, Reloading and Undoing
72 73 74 75 76 77 |
# File 'lib/nano_store/bag.rb', line 72 def save error_ptr = Pointer.new(:id) result = self.saveAndReturnError(error_ptr) raise NanoStoreError, error_ptr[0].description if error_ptr[0] result end |
#undo ⇒ Object
86 87 88 89 90 91 |
# File 'lib/nano_store/bag.rb', line 86 def undo error_ptr = Pointer.new(:id) result = self.undoChangesWithError(error_ptr) raise NanoStoreError, error_ptr[0].description if error_ptr[0] result end |