Commit graph

64 commits

Author SHA1 Message Date
5d4ef8ed7f Merge pull request #910 from matthiasbeyer/libimagstore/non-consuming-update
Libimagstore/non consuming update
2017-03-08 15:30:19 +01:00
1c43abb0b0 Fix for new Store::update() interface 2017-03-08 12:47:40 +01:00
a14d10fd47 Replace uses of RuntimeError with own error types 2017-03-07 17:47:56 +01:00
79aec8bf38 Add Ruby error types 2017-02-27 15:13:07 +01:00
dea3a7b230 Impl Store::retrieve_for_module() interface function 2017-02-05 18:35:39 +01:00
36dfee812f libimagruby: Eliminate EntryHeader type 2017-02-05 13:10:39 +01:00
3d4edfe078 Fix: Pass error return expression further down 2017-01-26 15:50:22 +01:00
2021b3ea16 Remove unnecessary "mut" 2017-01-25 18:32:16 +01:00
2aa54b820f Remove unused imports 2017-01-25 18:32:04 +01:00
57c266dfc8 Add Ruby-like hash read/set syntax 2017-01-22 18:44:47 +01:00
e929a0ccf1 Rename: Imag -> RImag (class) 2017-01-22 18:44:47 +01:00
916d647a24 Rename init fn to be able to require binary directly 2017-01-22 16:55:45 +01:00
a06fce06e5 Beautify wrapper helper macros 2017-01-22 15:50:48 +01:00
1aaf0c4d30 Fix store handle class name to fit convention 2017-01-22 15:44:21 +01:00
bf53c6b529 Add StoreHandle::new() 2017-01-22 15:44:21 +01:00
34cd5d9c87 Add Store::new() function interface 2017-01-22 15:44:21 +01:00
54deef3dde Remove Deref{,Mut} on FileLockEntryHandle to make code more explicit 2017-01-22 13:19:55 +01:00
063083d7b5 Add setup() for Store interface 2017-01-22 12:56:46 +01:00
ffb9ad120f Impl Store::create() interface 2017-01-22 12:56:46 +01:00
ce8c382e81 Impl Store::retrieve() interface 2017-01-22 12:56:46 +01:00
bc3a82fcc6 Impl Store::get() interface function 2017-01-22 12:56:46 +01:00
6875376f91 Impl Store::update() interface function 2017-01-22 12:56:46 +01:00
c87fa74169 impl Store::delete() interface function 2017-01-22 12:56:46 +01:00
c2b146aad8 Beautify cal_on_store_by_handle!{} macro syntax 2017-01-22 12:56:46 +01:00
04363035c2 Beautify call_on_store!() macro syntax 2017-01-22 12:56:46 +01:00
551b135436 Make macro more advanced, to be able to impl Store::save_{as,to}() interfaces 2017-01-22 12:56:46 +01:00
d047b6663b Rewrite code to wrap StoreHandle properly 2017-01-22 12:56:46 +01:00
3a90077777 Minify macros by introducing store-level operation macro 2017-01-22 12:56:46 +01:00
d91243d4b4 Rewrite FileLockEntry interface to work with Store in cache 2017-01-22 12:56:46 +01:00
5e708b9720 Change FileLockEntryHandle to operate on cached store objects 2017-01-22 12:56:46 +01:00
64fc3749d0 Move parts to own files 2017-01-22 12:56:46 +01:00
e956c51412 Introduce FileLockEntry cache
Holy shit, this compiles!

Have a look at the documentation from src/cache.rs - there's a rather
long description why we need this.
2017-01-22 12:56:45 +01:00
7aed2d2689 Impl RStore::move_by_id() 2017-01-22 12:56:45 +01:00
4f8a14ba1a Impl RStore::path() 2017-01-22 12:56:45 +01:00
158e7aaff5 Add macro to implement Wrap automatically 2017-01-22 12:56:45 +01:00
91a60093b7 Make wraps easily unwrappable 2017-01-22 12:56:45 +01:00
2d9ddb8a49 Minify code with typecheck!() macro 2017-01-22 12:56:45 +01:00
677b7eaf2a Add code structure for RStore wrapper for Store 2017-01-22 12:56:45 +01:00
32b51f5946 Impl VerifiedObject for all the things! 2017-01-21 14:11:30 +01:00
311d0b23e2 Disable file/line in debug logging from Ruby 2017-01-21 13:56:07 +01:00
fc6cf0c709 Add functionality to initialize a logger from ruby 2017-01-21 13:56:07 +01:00
a749452379 Add setup*() calls 2017-01-21 13:56:07 +01:00
5a449ed1c7 Add ruby->imag logging functionality 2017-01-21 13:56:07 +01:00
8b2ec05613 Add setup code for FileLockEntry 2017-01-21 13:56:07 +01:00
e11a6cc5ad Add r_set_content() for FileLockEntry 2017-01-21 13:56:07 +01:00
7848da07e6 Add r_get_content() for FileLockEntry 2017-01-21 13:56:07 +01:00
2ab8f82304 Add r_set_header() for FileLockEntry 2017-01-21 13:56:07 +01:00
513cd8f8fc Add r_get_header() for FileLockEntry 2017-01-21 13:56:07 +01:00
114e8f1ac0 Simplify ruby utils
by implementing them directly on the Array and Hash
2017-01-21 13:56:06 +01:00
003af09033 Impl Wrap for EntryContent 2017-01-21 13:56:06 +01:00