Matthias Beyer
6c7d6c29ea
Rewrite pre-hook execution
2016-05-28 21:08:55 +02:00
Matthias Beyer
eb80714402
HookError: Add optional non-aborting mode
2016-05-28 21:08:07 +02:00
Matthias Beyer
42289a085e
Fix glob() pattern
2016-05-28 17:28:38 +02:00
Matthias Beyer
a6200b67c0
Merge pull request #446 from matthiasbeyer/libimagstore/fix-get
...
Fix Store::get()
2016-05-28 10:35:42 +02:00
Matthias Beyer
19aec6327f
Fix Store::get()
2016-05-27 23:58:37 +02:00
Matthias Beyer
3d9d5795e4
Rewrite hook error module with error macros
2016-05-27 10:15:29 +02:00
Matthias Beyer
cb87b4b5d8
Remove old error code which is unused
2016-05-27 10:13:03 +02:00
Matthias Beyer
183c46a7dd
Use Into implementations to convert error kinds into error types
2016-05-27 10:11:51 +02:00
Matthias Beyer
e91eb2f55d
Use error.into() instead of building full type
2016-05-26 22:19:29 +02:00
Matthias Beyer
5e98bd76b1
Shorten type names in import
2016-05-26 22:19:08 +02:00
Matthias Beyer
25c4bea818
Shorten type names in import
2016-05-26 22:17:08 +02:00
Matthias Beyer
fdb5d1bb24
Replace old error construction code with new libimagerror functionality
2016-05-26 22:16:29 +02:00
Matthias Beyer
2ad5cb48aa
Implement store-unload hooks
2016-05-26 21:04:04 +02:00
Matthias Beyer
f19c057258
Merge pull request #432 from matthiasbeyer/libimagerror/simple-into
...
libimagerror: Impl Into<error name> for all <errorkindname>
2016-05-24 15:23:08 +02:00
Matthias Beyer
41b5d6d230
Merge pull request #400 from matthiasbeyer/libimagutil/match-helper
...
Libimagutil/match helper
2016-05-24 14:41:43 +02:00
Matthias Beyer
b1f43e3ef5
Impl Into<error name> for all <errorkindname>
2016-05-24 14:31:44 +02:00
Matthias Beyer
b6f5b71df1
libimagstore: Refactor code with is_match!() macro
2016-05-23 21:43:20 +02:00
Matthias Beyer
f0b665e5f2
libimagstore: Add dependency: libimagutil
2016-05-23 21:43:10 +02:00
Matthias Beyer
80b9cae5fe
Merge pull request #391 from matthiasbeyer/libimagstore/get
...
Libimagstore/get
2016-05-23 20:01:38 +02:00
Matthias Beyer
e45d9200bf
Adapt error generating code in libimagstore
2016-05-23 17:06:07 +02:00
Matthias Beyer
dd7e146081
impl Into<StoreIdIterator> for GlobStoreIdIterator to be able to convert easily
2016-05-23 14:52:32 +02:00
Matthias Beyer
839ec051a4
Add Store::get_all_versions() for getting all versions of a StoreId entry
2016-05-23 14:52:13 +02:00
Matthias Beyer
df33dec0c3
Add new error kind: StorePathError
2016-05-23 14:51:39 +02:00
Matthias Beyer
b4f17576f6
Add Store::get() for getting or failing if entry does not exist
2016-05-23 14:51:38 +02:00
Matthias Beyer
bf14b9ae4e
Update dependency: fs2 0.2.2 -> 0.2.*
2016-05-23 13:37:26 +02:00
Matthias Beyer
cc8642f54f
libimagstore: Replace error module imports with macro helper
2016-05-19 18:22:03 +02:00
Matthias Beyer
42f7e086a3
Replace error code with macro for code generation
2016-05-17 00:26:35 +02:00
Matthias Beyer
627fa7de46
Replace error code with macro for code generation
2016-05-17 00:26:35 +02:00
Matthias Beyer
a69fd78058
Add dependency: libimagerror
2016-05-17 00:26:35 +02:00
Matthias Beyer
a56f000e3e
Remove unneeded scope
2016-05-15 14:02:30 +02:00
Matthias Beyer
a26a0645bd
Remove iflet by mapping
2016-05-15 14:01:55 +02:00
Matthias Beyer
944a9bf876
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
0b7f815104
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
81810dbcc8
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
604e59ae3c
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
2a6e4c62fe
Remove unwrap() by matching, remove unneeded deref()
2016-05-15 14:01:55 +02:00
Matthias Beyer
8d9bd5154d
Remove unwrap() by matching, remove unneeded deref()
2016-05-15 14:01:55 +02:00
Matthias Beyer
a481200c9a
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
1e1cbec98b
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
70b3d3906e
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
1f66f67791
Replaced unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
7b612ce8fb
Remove iflet by mapping over Option/Result types
2016-05-15 14:01:55 +02:00
Matthias Beyer
f9f5fa5717
Shorten code by using StoreError as SE and StoreErrorKind as SEK
2016-05-15 14:01:55 +02:00
Matthias Beyer
a852da54dd
Remove iflet by using Option::{map_err, and}()
2016-05-15 14:00:40 +02:00
Matthias Beyer
3fb6d507e5
Remove unwrap() by matching
2016-05-15 14:00:40 +02:00
Matthias Beyer
ac8bcde239
Remove unwrap() hell by matching
2016-05-15 14:00:40 +02:00
Andre Bogus
cd224eaeff
roll back closure, remove unneeded slice & imports
2016-05-14 20:12:19 +02:00
Andre Bogus
981707c9c9
more style adaptations
...
again following clippy
2016-05-13 22:27:53 +02:00
Matthias Beyer
b9d8e5728b
Move GlobStoreIdIterator implementation so we can have it non-public
2016-05-12 17:27:41 +02:00
Matthias Beyer
a510e1b6b6
Add error printing (debug) in GlobStoreIdIterator helper type
2016-05-12 17:24:27 +02:00
Matthias Beyer
5972ce7f37
Make StoreIdIterator generic
...
This patch makes the StoreIdIterator type generic over all iterators
with Item = StoreId.
As the StoreIdIterator type was previousely used for iterating over a
glob() result, I had to wrap this result type in another iterator type
which is then wrapped in StoreIdIterator.
With this patch applied, other libraries may use the StoreIdIterator
type to abstract things away in their implementation.
2016-05-12 17:21:04 +02:00
Matthias Beyer
9f528fb929
Merge pull request #390 from matthiasbeyer/update-log
...
Update log
2016-05-11 12:35:27 +02:00
Matthias Beyer
62f6478476
Update log: 0.3.* -> 0.3
2016-05-10 17:54:47 +02:00
Matthias Beyer
87c55d5906
Remove old check from config validation
...
These keys are not used, actually.
2016-05-09 17:11:59 +02:00
Matthias Beyer
285832f45f
Merge pull request #349 from matthiasbeyer/libimagstore/walk
...
Libimagstore/walk
2016-05-09 15:53:17 +02:00
Matthias Beyer
c32065c2d6
Implement Store::walk()
2016-05-07 13:17:23 +02:00
Matthias Beyer
3842e177d7
Make Entry::{from_file,from_str} generic over IntoStoreId
2016-05-04 13:30:19 +02:00
Matthias Beyer
5d6c226953
Make some store functions generic over IntoStoreId
2016-05-04 13:30:19 +02:00
Matthias Beyer
24ddf5d53b
Impl IntoStoreId for StoreId
2016-05-04 13:30:19 +02:00
Matthias Beyer
7e17e213be
Fixup ModuleEntryPath macro type
2016-05-04 13:30:19 +02:00
Matthias Beyer
b4db587a10
Impl Deref<PathBuf> for StoreId
2016-05-03 14:58:18 +02:00
Matthias Beyer
4d4acf9168
Fix IntoStoreId implementation
2016-05-03 14:58:05 +02:00
Matthias Beyer
799b9e27a5
Remove typedef for StoreId type
...
but make it a new type instead.
Also derive and implement as many traits as possible for it, so we keep
backwards compatibility as much as possible.
Anyways, we need to rewrite some code for this.
Suggested-by: Marcel Müller <neikos@neikos.email>
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2016-05-03 14:58:05 +02:00
Matthias Beyer
770cc3e86b
Add dependency: walkdir = 0.1.5
2016-04-28 17:52:46 +02:00
Matthias Beyer
b629d0b8f1
Merge pull request #367 from matthiasbeyer/unwrap_err
...
Unwrap err
2016-04-21 15:08:36 +02:00
Matthias Beyer
cb3683940e
Remove unneeded module specifiers from Deref{,Mut} impls
2016-04-21 13:13:58 +02:00
Matthias Beyer
fd9dee7dea
Implement Debug for StoreIdIterator
2016-04-20 21:46:02 +02:00
Matthias Beyer
872114d86f
FileLockEntry: Derive Debug
2016-04-20 21:46:02 +02:00
Matthias Beyer
01c226f0ca
Revert change to unwrap_err() here, trait bounds not fulfilled
2016-04-20 21:46:02 +02:00
Matthias Beyer
0bb40fca11
libimagstore: Replace .err().unwrap() with .unwrap_err()
2016-04-20 21:46:01 +02:00
Matthias Beyer
144c42aee5
libimagstore Update regex 0.1.x -> 0.1.*
2016-04-17 21:00:31 +02:00
Matthias Beyer
6a407365bd
Enhance store config errors by printing (println)
2016-03-26 15:28:35 +01:00
Matthias Beyer
b7aac5e275
Remove aspects which were removed in #277
2016-03-26 15:03:34 +01:00
Matthias Beyer
4a3fdfe862
Merge pull request #288 from matthiasbeyer/libimagstore/fix-wrong-hook-call
...
Fix wrong hook execution: post-retrieve
2016-03-26 13:57:00 +01:00
Matthias Beyer
9e3de45bdd
Merge pull request #281 from matthiasbeyer/per-crate-readme
...
Per crate readme
2016-03-26 13:56:47 +01:00
Matthias Beyer
94bed5f364
Merge pull request #287 from matthiasbeyer/libimagstore/hooks/fix-missing-tostr-impl
...
Add missing hook_error_type_as_str() impl
2016-03-26 13:56:43 +01:00
Matthias Beyer
7c276d541d
Merge pull request #279 from matthiasbeyer/libimagstore/rewrite-file
...
Truncate file to zero size before writing new content, so we do not p…
2016-03-26 13:56:06 +01:00
Matthias Beyer
0a181479c8
Merge pull request #277 from matthiasbeyer/libimagstore/remove-unused-aspects
...
Libimagstore/remove unused aspects
2016-03-26 13:55:46 +01:00
Matthias Beyer
93d7b81dc5
Merge pull request #276 from matthiasbeyer/libimagstore/config-getter
...
Store::config() added, mainly for debugging use
2016-03-26 13:55:11 +01:00
Matthias Beyer
ad35d0bf50
Add missing hook_error_type_as_str() impl
2016-03-25 19:17:35 +01:00
Matthias Beyer
bb918db5c3
Fix wrong hook execution: post-retrieve
2016-03-25 19:17:19 +01:00
Matthias Beyer
b54576d95d
Add README for libimagstore
2016-03-25 15:56:42 +01:00
Matthias Beyer
ab417a17d0
Truncate file to zero size before writing new content, so we do not partially write the file
2016-03-25 15:39:26 +01:00
Kai Sickeler
cdbc0ceae5
Removed unused functions
2016-03-25 15:22:45 +01:00
Kai Sickeler
797a707c8e
removed unused Pre- / PostRead aspects
2016-03-25 15:22:45 +01:00
Matthias Beyer
ad18091b88
Store::config() added, mainly for debugging use
2016-03-25 15:15:37 +01:00
Matthias Beyer
c5c60cf36d
impl Debug for Store
2016-03-25 13:30:26 +01:00
Matthias Beyer
22052ba9f0
Add some more error types to be more specific about what happened
2016-03-25 13:30:16 +01:00
Matthias Beyer
a96ca837c6
Make HookPosition clonable
2016-03-24 17:57:19 +01:00
Matthias Beyer
2deb98d764
Add deny() so we turn some warnings into errors
2016-03-22 19:44:04 +01:00
Matthias Beyer
c59ed7d2fe
Use unused result when file.write_all() and return error
2016-03-22 19:44:04 +01:00
Matthias Beyer
dc7a212278
Use unused result which must be used when file.seek()ing
2016-03-22 19:44:04 +01:00
Matthias Beyer
a45571e299
Remove unused function AspectConfig::config()
2016-03-22 19:44:04 +01:00
Matthias Beyer
8e852384bd
Remove unused function from Store
2016-03-22 19:44:04 +01:00
Matthias Beyer
a9eddb088a
Remove unused functions from LazyFile
...
- Remove uses of LazyFile::new() from tests
- Use LazyFile::get_file_mut() in test as we want the file mut anyways
2016-03-22 19:43:48 +01:00
Matthias Beyer
af161394ad
Remove dead code in configuration.rs
2016-03-22 19:43:48 +01:00
Matthias Beyer
a4c820d308
Remove unused keyword "mut"
2016-03-22 19:43:48 +01:00
Matthias Beyer
8aa3f31970
Remove unused variables
2016-03-22 19:43:48 +01:00
Matthias Beyer
2fb59b3ae6
Remove unused imports
2016-03-22 19:43:48 +01:00
Matthias Beyer
041a2a4942
Add encoding error if typeconversion fails
2016-03-19 15:15:04 +01:00
Matthias Beyer
fe0849f8eb
Add implementation for Store::retrieve_for_module()
2016-03-19 15:15:04 +01:00
Matthias Beyer
80945fcd16
Rewrite build_entry_path() so it does not panic!() anymore
2016-03-19 14:48:09 +01:00
Matthias Beyer
b8b49b3240
Move: build_entry_path() from imag-store to libimagstore
2016-03-19 14:47:45 +01:00
Matthias Beyer
65a64774b6
Fix: Allow NonMutableAccess in MutableHookDataAcessor
2016-03-16 16:46:54 +01:00
Matthias Beyer
feac9ae9e8
Store::new(): Aspect configuration added
2016-03-16 16:46:54 +01:00
Matthias Beyer
96deb17515
Aspect: Optionally get configuration
2016-03-16 16:46:54 +01:00
Matthias Beyer
f1246093f1
Implement AspectConfig::get_for()
2016-03-16 16:46:54 +01:00
Matthias Beyer
08b36972f1
Make store configuration optional
2016-03-16 16:46:54 +01:00
Matthias Beyer
0286d8a25e
Store: Add hook configuration on registration
2016-03-16 16:46:54 +01:00
Matthias Beyer
59fdb7ef3d
Store: Get configuration object not as reference, to avoid livetimes
2016-03-16 16:46:54 +01:00
Matthias Beyer
6dae03d731
Hook: Must provide name, gets reference to configuration
2016-03-16 16:46:54 +01:00
Matthias Beyer
9961f64ce6
Add AspectConfig type
2016-03-16 16:46:53 +01:00
Matthias Beyer
c942c74f05
Implement getter for aspect names
2016-03-16 16:46:53 +01:00
Matthias Beyer
d249f604d8
Implement: config_is_valid()
2016-03-16 16:46:53 +01:00
Matthias Beyer
cd55e7d625
Add Aspect building based on configuration
2016-03-16 16:46:53 +01:00
Matthias Beyer
1fe545eb8b
Add configuration.rs
2016-03-16 16:46:53 +01:00
Matthias Beyer
a771db9ea4
Add error kind for config errors
2016-03-16 16:46:53 +01:00
Matthias Beyer
9e8ef57f72
Remove {Pre, Post}HookErrorKind types as they are not needed anymore
2016-03-16 16:46:53 +01:00
Matthias Beyer
987b271cc7
Add access type checking error
2016-03-16 16:46:53 +01:00
Matthias Beyer
5ba260943b
Make hook execution parallel for NonMutableHookDataAccessor impl for Aspect
2016-03-16 16:46:53 +01:00
Matthias Beyer
7102a57808
Make hook execution parallel for StoreIdAccessor impl for Aspect
2016-03-16 16:46:53 +01:00
Matthias Beyer
d8760c9737
Impl NonMutableHookDataAccessor::access() for Aspect
2016-03-16 16:46:53 +01:00
Matthias Beyer
c4c02f2274
Impl MutableHookDataAccessor::access_mut() for Aspect
2016-03-16 16:46:53 +01:00
Matthias Beyer
2022f4e4bb
Impl StoreIdAccessor::access() for Aspect
2016-03-16 16:46:53 +01:00
Matthias Beyer
2c544382a1
We do not need boxes here
2016-03-16 16:46:53 +01:00
Matthias Beyer
679865464b
Reimplement hook registration and execution
2016-03-16 16:46:52 +01:00
Matthias Beyer
d6a581e69f
Add HookPosition enum
2016-03-16 16:46:52 +01:00
Matthias Beyer
37a505609e
Remove hook traits. There can only be one trait: Hook
2016-03-16 16:46:52 +01:00
Matthias Beyer
be1ba5be4b
Add Aspect type for hook system
2016-03-16 16:46:52 +01:00
Matthias Beyer
3e62b71605
Add StoreIdAccessor trait
2016-03-16 16:46:52 +01:00
Matthias Beyer
fa9e8e8192
Split hook/mod.rs into several files
2016-03-16 16:46:52 +01:00
Matthias Beyer
3f15fd0fa8
Move hook.rs -> hook/mod.rs
2016-03-16 16:46:52 +01:00
Matthias Beyer
a9600f23b3
Threaded hook execution
2016-03-16 16:46:52 +01:00
Matthias Beyer
79ba3f5151
Hook calling rewrite
2016-03-16 16:46:52 +01:00
Matthias Beyer
0610f0756a
Add dep: crossbeam = 0.2.8
2016-03-16 16:46:52 +01:00
Matthias Beyer
3421e8d4d9
Add HookExecutionError error kind
2016-03-16 16:46:52 +01:00
Matthias Beyer
1c40be78a9
Add HookAccessor types for accessing mutable/nonmutable hook calling in a generic way
2016-03-16 16:46:52 +01:00
Matthias Beyer
e1414beb8d
Impl Into<HookError> for error kinds to convert errors in a simple way
2016-03-16 16:46:51 +01:00
Matthias Beyer
57831dceb0
Add HookErrorKind enums for Pre and Post errors
2016-03-16 16:46:51 +01:00
Matthias Beyer
d7733aa13a
Make hooks configurable
...
This introduces the Configurable trait and abstracts the
dependency-traits for each trait over a generic "Hook" trait, which
requires Configurable and Debug to be implemented, but has no own
functions.
Configuring is done _without_ the Runtime object, so we can be sure that
the hooks do not have access to the store object.
2016-03-16 16:46:51 +01:00
Matthias Beyer
d9a4512821
Add debug output for hook exec functions
2016-03-16 16:46:51 +01:00
Matthias Beyer
da3554d98e
Add debug output for hook register functions
2016-03-16 16:46:51 +01:00
Matthias Beyer
6af5be15ad
Hooks must implement Debug
2016-03-16 16:46:51 +01:00
Matthias Beyer
bb0e7e2468
Implement: execute_post_delete_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
f703e8a4cd
Implement: execute_post_update_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
7014256407
Implement: execute_post_retrieve_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
5831d3bc7b
Implement: execute_post_create_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
196be30d91
Implement: execute_post_read_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
09acddaef9
Implement: execute_pre_delete_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
5aa663987b
Implement: execute_pre_update_hooks()
2016-03-16 16:46:51 +01:00
Matthias Beyer
94128f8bcc
Implement: execute_pre_retrieve_hooks()
2016-03-16 16:46:50 +01:00
Matthias Beyer
3244b87c7e
Implement: execute_pre_create_hooks()
2016-03-16 16:46:50 +01:00
Matthias Beyer
975a2bc8b9
Implement: execute_pre_read_hooks()
2016-03-16 16:46:50 +01:00
Matthias Beyer
ac280ba616
Insert pre/post hook execution functions
2016-03-16 16:46:50 +01:00
Matthias Beyer
3cf2588104
Add error types for pre/post hooks
2016-03-16 16:39:39 +01:00
Matthias Beyer
17b1d6c390
Redefine hook trait system
2016-03-16 16:39:39 +01:00
Matthias Beyer
001c80b72d
Hook: Add traits which must be implemented for Hook
2016-03-16 16:39:39 +01:00
Matthias Beyer
b9127381b8
Add hook registering
2016-03-16 16:39:39 +01:00
Matthias Beyer
d99d25a3e1
Add HookRegisterError kind
2016-03-16 16:39:14 +01:00
Matthias Beyer
e969b8678e
Add hook traits
2016-03-16 16:39:14 +01:00
Matthias Beyer
361dec4cec
Revert "Check whether the StoreId is inside the store, before doing anything on the FS"
...
This reverts commit 373502217e
.
2016-03-12 16:06:10 +01:00
Matthias Beyer
9a918c9252
Merge pull request #242 from matthiasbeyer/libimagstore/revert-id_in_store-check
...
Revert "Check whether the StoreId is inside the store, before doing a…
2016-03-11 16:02:11 +01:00
Matthias Beyer
6d7065d10e
Fix test: StoreId does not start with "/" anymore
2016-03-10 19:12:00 +01:00
Matthias Beyer
a9a64d4ab6
Fix: implicitely create directories on file saving
2016-03-10 19:06:27 +01:00
Matthias Beyer
a3a09ff4ee
Fix store creation of libimagstore
...
The macro may not prefix the StoreId internal PathBuf with '/', so this
path is not absolute. This way we can introduce `storify_id()` which
creates a proper PathBuf into the store out of our StoreId object.
Does not yet do verification whether the path is inside the store,
actually.
2016-03-10 18:46:26 +01:00
Matthias Beyer
3413646934
Revert "Check whether the StoreId is inside the store, before doing anything on the FS"
...
This reverts commit 373502217e
as this commit was introducing a bug.
The StoreId type says `/test/example` for a store id path, which is
completely valid, as the root (`/`) is the store itself. The
id_in_store() function assumed that the store-id is the full
(file-system) path to the store entry, which is false.
This commit does not introduce a fix but revert the check.
2016-03-10 18:14:53 +01:00
Matthias Beyer
df1fd31771
libimagstore: Update glob 0.2.10 -> 0.2.11
2016-03-07 17:46:58 +01:00
Matthias Beyer
257fe1880e
EntryHeader: Function to get toml object
2016-03-06 11:51:09 +01:00
Matthias Beyer
74634227e0
Use unused result
2016-03-01 21:23:09 +01:00
Matthias Beyer
22e9f8a93b
Remove unused import
2016-03-01 21:21:14 +01:00
Matthias Beyer
1a8106dfd2
Add missing error-forwarding
2016-03-01 21:20:53 +01:00
Matthias Beyer
38b9e15615
Remove unreachable statement
2016-03-01 21:19:15 +01:00
Matthias Beyer
08c37c5fcb
Remove unused "mut" from EntryHeader::delete()
2016-03-01 21:18:17 +01:00
Matthias Beyer
ed3da38701
Remove unused "mut" from EntryHeader::read_with_sep()
2016-03-01 21:18:10 +01:00
Matthias Beyer
309e70df14
Remove unused "mut" from EntryHeader::set_with_sep()
2016-03-01 21:18:04 +01:00
Matthias Beyer
85e69f083e
Remove unused "mut" from EntryHeader::insert_with_sep()
2016-03-01 21:17:49 +01:00
Matthias Beyer
4390c39a6c
Remove unused "mut" from Store::delete()
2016-03-01 21:17:40 +01:00
Matthias Beyer
8dfccba0b8
Remove unused "mut" from Store::retrieve_copy()
2016-03-01 21:17:33 +01:00
Matthias Beyer
87bf7854c7
store: Update regex = 0.1.54
2016-02-23 13:13:22 +01:00
Matthias Beyer
df4bc13018
use lazy_static so we do not compile regex multiple times
2016-02-20 21:06:47 +01:00
Matthias Beyer
0cab0f114d
Merge pull request #149 from matthiasbeyer/libimagstore/header-field-path-util
...
Add header field addressing by str
2016-02-14 16:10:56 +01:00
Matthias Beyer
9951422dc4
Impl From<Table> for EntryHeader
2016-02-12 22:07:15 +01:00
Matthias Beyer
794e7617e3
Impl Into<Table> for EntryHeader
2016-02-12 22:02:33 +01:00
Matthias Beyer
df9313c599
Add EntryHeader::insert_with_sep()
2016-02-12 21:57:53 +01:00
Matthias Beyer
54ba22d0ef
Add EntryHeader::set_with_sep()
2016-02-12 21:56:48 +01:00
Matthias Beyer
bca0143343
Add EntryHeader::read_with_sep() which allows seperator modification
2016-02-12 21:55:06 +01:00
Matthias Beyer
a4fa1bac07
Add split-char setting
2016-02-12 21:50:44 +01:00
Matthias Beyer
6397068ddc
Add test for EntryHeader::delete()
2016-02-12 20:02:57 +01:00
Matthias Beyer
cb87f31a23
Add EntryHeader::delete()
2016-02-12 20:02:56 +01:00
Matthias Beyer
30e8afeced
Add tests for inserting values
2016-02-12 20:02:56 +01:00
Matthias Beyer
965c3445a1
Add test for setting value at new path
2016-02-12 20:02:56 +01:00
Matthias Beyer
dd53e467d7
Add EntryHeader::set() test
2016-02-12 20:02:56 +01:00
Matthias Beyer
b4362f5c65
Alter: EntryHeader should contain a Value, not the BTreeMap<>
2016-02-12 20:02:56 +01:00
Matthias Beyer
74a9b844ca
Add debugging output in tests
2016-02-12 20:02:41 +01:00
Matthias Beyer
60ccf58f84
Merge pull request #148 from neithernut/impl-store-retrieve_copy
...
Implement Store::retrieve_copy()
2016-02-12 18:59:56 +01:00
Matthias Beyer
103a0dea17
Add test: EntryHeader::read()
2016-02-11 15:45:48 +01:00
Matthias Beyer
731a446546
Implement EntryHeader::read()
2016-02-11 15:45:47 +01:00
Matthias Beyer
548aee8d5f
Implement EntryHeader::set()
2016-02-11 15:45:47 +01:00
Matthias Beyer
4d94f8a67f
Implement: EntryHeader::insert()
2016-02-11 15:45:47 +01:00
Matthias Beyer
3b09e0c214
Move helper functions outside of walk_header(), so we can use them
2016-02-11 15:45:47 +01:00
Matthias Beyer
42aade5cef
Add tests for path-to-value extractor functionality
2016-02-11 15:43:58 +01:00
Matthias Beyer
4759076249
Implement walk_header()
2016-02-11 15:43:58 +01:00
Matthias Beyer
a2e3598c01
Add more error types for header walking
2016-02-11 15:43:58 +01:00
Matthias Beyer
0727fca797
Add tokenizer helper function
2016-02-11 15:43:58 +01:00
Matthias Beyer
2f6cfb5868
Add interface for header field addressing by str
2016-02-11 15:43:58 +01:00
Matthias Beyer
00ccc22ef5
Add some debugging output for {create,retrieve,delete}
2016-02-09 20:09:12 +01:00
Matthias Beyer
d85f985694
Fixup path-includes-path checker
2016-02-09 20:08:58 +01:00
Matthias Beyer
ddd54e03ad
Add store path getter
2016-02-09 13:45:13 +01:00
Matthias Beyer
a0afc9245b
Merge pull request #186 from TheNeikos/verify-toml_table
...
Verify that nothing but tables exist in base table
2016-02-07 01:54:35 +01:00
Matthias Beyer
ebb076c9fd
Merge pull request #184 from matthiasbeyer/libimagstore/fix-179
...
Check whether the StoreId is inside the store
2016-02-07 01:45:48 +01:00
Marcel Müller
e315fa9dcf
Remove unwrap in drop and warn users
2016-02-07 01:28:16 +01:00
Marcel Müller
9ba2439da3
Add debug output
2016-02-07 01:28:15 +01:00
Marcel Müller
6173cff762
Verify that nothing but tables exist in base table
2016-02-07 01:27:50 +01:00
Marcel Müller
293fd0da00
Add verify
2016-02-06 18:57:39 +01:00
Marcel Müller
e079628397
Remove unneeded closure
2016-02-06 18:52:17 +01:00
Matthias Beyer
373502217e
Check whether the StoreId is inside the store, before doing anything on the FS
2016-02-06 18:48:59 +01:00
Matthias Beyer
eb0d1dba69
Merge pull request #176 from matthiasbeyer/update-crate-version
...
libimagstore: Update dep: version: 1.1.0 -> 2.0.1
2016-02-05 22:04:27 +01:00
Matthias Beyer
ddd61f9c1f
libimagstore: Update dep: version: 1.1.0 -> 2.0.1
2016-02-05 21:53:26 +01:00
Matthias Beyer
959a68f1a6
Merge pull request #153 from matthiasbeyer/libimagstore/add-debugging-output
...
Libimagstore/add debugging output
2016-02-05 16:03:23 +01:00
Matthias Beyer
0931ede580
Merge pull request #165 from matthiasbeyer/remove-unused-imports
...
Remove unused imports
2016-01-30 13:47:57 +01:00
Matthias Beyer
213cb32a88
Fix: Add EntryHeader::toml_mut()
2016-01-30 12:38:36 +01:00
Matthias Beyer
f6e03c804e
store/store: Remove unused imports
2016-01-29 23:06:15 +01:00
Matthias Beyer
814e85508b
store/error: Remove unused imports
2016-01-29 23:06:04 +01:00
Matthias Beyer
33b6a89a02
Merge pull request #156 from matthiasbeyer/libimagstore/fix-private-intostoreid
...
Fix: Make IntoStoreId public
2016-01-29 19:11:03 +01:00
Matthias Beyer
618d39cf7c
Merge pull request #155 from matthiasbeyer/libimagstore/fix-missing-doc
...
Fix: Add missing documentation for mod module_path
2016-01-29 19:10:56 +01:00
Matthias Beyer
fbb296495b
Merge pull request #154 from matthiasbeyer/libimagstore/fix-152
...
Fix: negation error
2016-01-29 19:10:51 +01:00
Matthias Beyer
72cf550c9f
Fix: seek() file back on reading it
2016-01-29 18:17:41 +01:00
Matthias Beyer
69bebfcfc0
Fix: Make IntoStoreId public
2016-01-29 17:03:24 +01:00
Matthias Beyer
c64cdad63b
Fix: Add missing documentation for mod module_path
2016-01-29 17:03:05 +01:00
Matthias Beyer
38791ea2f9
Fix: negation error
...
Suggested-by: Marcel Müller <neikos@neikos.email>
2016-01-29 16:53:13 +01:00
Matthias Beyer
3b51328aa7
Merge pull request #145 from neithernut/fix-store-retrieve
...
Fix Store::retrieve()
2016-01-29 16:29:38 +01:00
Matthias Beyer
b04c676eb9
Add store debugging output
2016-01-28 21:06:49 +01:00
Matthias Beyer
4bc905c692
Add debug output for LazyFile::{get_file_mut,create_file}()
2016-01-28 21:00:33 +01:00
Matthias Beyer
2c398d941b
Let LazyFile derive Debug
2016-01-28 21:00:13 +01:00
Matthias Beyer
88f6086c97
Add dep: log = 0.3.5
2016-01-28 20:59:43 +01:00
Julian Ganz
c6ec47a8af
Change status _after_ calling StoreEntry::get_entry()
...
StoreEntry::get_entry() will return an error if the store entry's status
is "borrowed".
2016-01-28 20:47:34 +01:00
Julian Ganz
355ec697c1
Implement Store::retrieve_copy()
2016-01-25 22:26:00 +01:00
Julian Ganz
1085127036
Add missing error handling
...
We don't want to panick if a lock inside the store is broken. We want to
notify the user, so she can start panicking.
2016-01-25 20:38:45 +01:00
Matthias Beyer
6c53f172dc
Minify implementation of Store::retrieve()
2016-01-25 15:32:50 +01:00
Julian Ganz
540348380e
Mark store entry as borrowed
2016-01-25 12:34:37 +01:00
Julian Ganz
86ab4ba4b1
Slimline translation from entry to file lock entry
2016-01-25 12:32:30 +01:00
Julian Ganz
9760f72e79
get_entry() already asserts the entry is not borrowed
2016-01-25 12:31:22 +01:00
Julian Ganz
acfbb16eb2
Fix Store::retrieve()
...
The previous version of `Store::retrieve()` required the entry to be
already registered in the store's hashmap.
2016-01-24 22:57:11 +01:00
Matthias Beyer
4a08eed700
Merge pull request #144 from matthiasbeyer/libimagstore/add-missing-pub
...
Fix: Add missing "pub" on Entry functions
2016-01-24 20:29:11 +01:00
Matthias Beyer
82873d82ba
Merge pull request #143 from TheNeikos/add-store_update
...
Implement storenetry:write_entry
2016-01-24 20:25:57 +01:00
Matthias Beyer
d24f661778
Fix: Add missing "pub" on Entry functions
2016-01-24 20:20:43 +01:00
Marcel Müller
4e990465c8
Implement storeentry:write_entry
2016-01-24 20:05:33 +01:00
Matthias Beyer
bbd08d9526
Add Store::retrieve_for_module()
2016-01-24 17:40:06 +01:00
Matthias Beyer
36770abac5
Add iterator type for StoreId
2016-01-24 17:39:41 +01:00
Matthias Beyer
e951666e3d
Use glob
2016-01-24 17:39:41 +01:00