Class: NSFNanoStore
- Inherits:
-
Object
- Object
- NSFNanoStore
- Defined in:
- motion-prime/models/store_extension.rb
Instance Method Summary collapse
-
#<<(objects) ⇒ Object
(also: #+)
Adding and Removing Objects.
- #changed? ⇒ Boolean
-
#clear ⇒ Object
delete all objects from store.
-
#clear_index ⇒ Object
Remove all indexes from the document store.
-
#close ⇒ Object
Open and Close store.
- #closed? ⇒ Boolean
-
#compact ⇒ Object
Compact the database file size.
-
#count(clazz) ⇒ Object
Count number of this class objects in store.
-
#delete(objects) ⇒ Object
delete a object or array of objects from the array.
-
#delete_keys(keys) ⇒ Object
delete object with keys param: keys - array of key.
- #engine ⇒ Object
- #open ⇒ Object
-
#rebuild_index ⇒ Object
Recreate all indexes from the document store.
-
#save ⇒ Object
Saves the uncommitted changes to the document store.
- #save_interval=(interval) ⇒ Object
-
#save_store(path, compact = true) ⇒ Object
Makes a copy of the document store to a different location and optionally compacts it to its minimum size.
-
#transaction ⇒ Object
Create a transaction.
Instance Method Details
#<<(objects) ⇒ Object Also known as: +
Adding and Removing Objects
36 37 38 39 40 41 42 43 44 45 |
# File 'motion-prime/models/store_extension.rb', line 36 def <<(objects) error_ptr = Pointer.new(:id) if objects.is_a?(Array) self.addObjectsFromArray(objects, error:error_ptr) else self.addObject(objects, error:error_ptr) end raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] self end |
#changed? ⇒ Boolean
6 7 8 |
# File 'motion-prime/models/store_extension.rb', line 6 def changed? self.hasUnsavedChanges end |
#clear ⇒ Object
delete all objects from store
62 63 64 65 66 67 |
# File 'motion-prime/models/store_extension.rb', line 62 def clear error_ptr = Pointer.new(:id) result = self.removeAllObjectsFromStoreAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#clear_index ⇒ Object
Remove all indexes from the document store.
100 101 102 103 104 105 |
# File 'motion-prime/models/store_extension.rb', line 100 def clear_index error_ptr = Pointer.new(:id) result = self.clearIndexesAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#close ⇒ Object
Open and Close store
16 17 18 19 20 21 |
# File 'motion-prime/models/store_extension.rb', line 16 def close error_ptr = Pointer.new(:id) closed = self.closeWithError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] closed end |
#closed? ⇒ Boolean
30 31 32 |
# File 'motion-prime/models/store_extension.rb', line 30 def closed? self.isClosed end |
#compact ⇒ Object
Compact the database file size.
92 93 94 95 96 97 |
# File 'motion-prime/models/store_extension.rb', line 92 def compact error_ptr = Pointer.new(:id) result = self.compactStoreAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#count(clazz) ⇒ Object
Count number of this class objects in store
124 125 126 |
# File 'motion-prime/models/store_extension.rb', line 124 def count(clazz) self.countOfObjectsOfClassNamed(clazz.) end |
#delete(objects) ⇒ Object
delete a object or array of objects from the array
49 50 51 52 53 54 55 56 57 58 |
# File 'motion-prime/models/store_extension.rb', line 49 def delete(objects) error_ptr = Pointer.new(:id) if objects.is_a?(Array) result = self.removeObjectsInArray(objects, error:error_ptr) else result = self.removeObject(objects, error:error_ptr) end raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#delete_keys(keys) ⇒ Object
delete object with keys param: keys - array of key
71 72 73 74 75 76 |
# File 'motion-prime/models/store_extension.rb', line 71 def delete_keys(keys) error_ptr = Pointer.new(:id) result = self.removeObjectsWithKeysInArray(keys, error:error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#engine ⇒ Object
2 3 4 |
# File 'motion-prime/models/store_extension.rb', line 2 def engine self.nanoStoreEngine end |
#open ⇒ Object
23 24 25 26 27 28 |
# File 'motion-prime/models/store_extension.rb', line 23 def open error_ptr = Pointer.new(:id) opened = self.openWithError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] opened end |
#rebuild_index ⇒ Object
Recreate all indexes from the document store.
108 109 110 111 112 113 |
# File 'motion-prime/models/store_extension.rb', line 108 def rebuild_index error_ptr = Pointer.new(:id) result = self.rebuildIndexesAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#save ⇒ Object
Saves the uncommitted changes to the document store.
81 82 83 84 85 86 |
# File 'motion-prime/models/store_extension.rb', line 81 def save error_ptr = Pointer.new(:id) result = saveStoreAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#save_interval=(interval) ⇒ Object
10 11 12 |
# File 'motion-prime/models/store_extension.rb', line 10 def save_interval=(interval) self.setSaveInterval(interval) end |
#save_store(path, compact = true) ⇒ Object
Makes a copy of the document store to a different location and optionally compacts it to its minimum size.
116 117 118 119 120 121 |
# File 'motion-prime/models/store_extension.rb', line 116 def save_store(path, compact=true) error_ptr = Pointer.new(:id) result = self.saveStoreToDirectoryAtPath(path, compactDatabase:compact, error:error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] result end |
#transaction ⇒ Object
Create a transaction
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'motion-prime/models/store_extension.rb', line 129 def transaction error_ptr = Pointer.new(:id) beginTransactionAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] begin yield self rescue StandardError => e rollbackTransactionAndReturnError(error_ptr) raise e end success = commitTransactionAndReturnError(error_ptr) raise MotionPrime::StoreError, error_ptr[0].description if error_ptr[0] success end |