5d6c226953
Make some store functions generic over IntoStoreId
2016-05-04 13:30:19 +02:00
4d4acf9168
Fix IntoStoreId implementation
2016-05-03 14:58:05 +02:00
b629d0b8f1
Merge pull request #367 from matthiasbeyer/unwrap_err
...
Unwrap err
2016-04-21 15:08:36 +02:00
cb3683940e
Remove unneeded module specifiers from Deref{,Mut} impls
2016-04-21 13:13:58 +02:00
872114d86f
FileLockEntry: Derive Debug
2016-04-20 21:46:02 +02:00
01c226f0ca
Revert change to unwrap_err() here, trait bounds not fulfilled
2016-04-20 21:46:02 +02:00
0bb40fca11
libimagstore: Replace .err().unwrap() with .unwrap_err()
2016-04-20 21:46:01 +02:00
b7aac5e275
Remove aspects which were removed in #277
2016-03-26 15:03:34 +01:00
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
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
0a181479c8
Merge pull request #277 from matthiasbeyer/libimagstore/remove-unused-aspects
...
Libimagstore/remove unused aspects
2016-03-26 13:55:46 +01:00
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
bb918db5c3
Fix wrong hook execution: post-retrieve
2016-03-25 19:17:19 +01:00
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
797a707c8e
removed unused Pre- / PostRead aspects
2016-03-25 15:22:45 +01:00
ad18091b88
Store::config() added, mainly for debugging use
2016-03-25 15:15:37 +01:00
c5c60cf36d
impl Debug for Store
2016-03-25 13:30:26 +01:00
22052ba9f0
Add some more error types to be more specific about what happened
2016-03-25 13:30:16 +01:00
c59ed7d2fe
Use unused result when file.write_all() and return error
2016-03-22 19:44:04 +01:00
dc7a212278
Use unused result which must be used when file.seek()ing
2016-03-22 19:44:04 +01:00
8e852384bd
Remove unused function from Store
2016-03-22 19:44:04 +01:00
a4c820d308
Remove unused keyword "mut"
2016-03-22 19:43:48 +01:00
2fb59b3ae6
Remove unused imports
2016-03-22 19:43:48 +01:00
041a2a4942
Add encoding error if typeconversion fails
2016-03-19 15:15:04 +01:00
fe0849f8eb
Add implementation for Store::retrieve_for_module()
2016-03-19 15:15:04 +01:00
feac9ae9e8
Store::new(): Aspect configuration added
2016-03-16 16:46:54 +01:00
08b36972f1
Make store configuration optional
2016-03-16 16:46:54 +01:00
0286d8a25e
Store: Add hook configuration on registration
2016-03-16 16:46:54 +01:00
59fdb7ef3d
Store: Get configuration object not as reference, to avoid livetimes
2016-03-16 16:46:54 +01:00
cd55e7d625
Add Aspect building based on configuration
2016-03-16 16:46:53 +01:00
679865464b
Reimplement hook registration and execution
2016-03-16 16:46:52 +01:00
37a505609e
Remove hook traits. There can only be one trait: Hook
2016-03-16 16:46:52 +01:00
3e62b71605
Add StoreIdAccessor trait
2016-03-16 16:46:52 +01:00
fa9e8e8192
Split hook/mod.rs into several files
2016-03-16 16:46:52 +01:00
a9600f23b3
Threaded hook execution
2016-03-16 16:46:52 +01:00
79ba3f5151
Hook calling rewrite
2016-03-16 16:46:52 +01:00
d9a4512821
Add debug output for hook exec functions
2016-03-16 16:46:51 +01:00
da3554d98e
Add debug output for hook register functions
2016-03-16 16:46:51 +01:00
bb0e7e2468
Implement: execute_post_delete_hooks()
2016-03-16 16:46:51 +01:00
f703e8a4cd
Implement: execute_post_update_hooks()
2016-03-16 16:46:51 +01:00
7014256407
Implement: execute_post_retrieve_hooks()
2016-03-16 16:46:51 +01:00
5831d3bc7b
Implement: execute_post_create_hooks()
2016-03-16 16:46:51 +01:00
196be30d91
Implement: execute_post_read_hooks()
2016-03-16 16:46:51 +01:00
09acddaef9
Implement: execute_pre_delete_hooks()
2016-03-16 16:46:51 +01:00
5aa663987b
Implement: execute_pre_update_hooks()
2016-03-16 16:46:51 +01:00
94128f8bcc
Implement: execute_pre_retrieve_hooks()
2016-03-16 16:46:50 +01:00
3244b87c7e
Implement: execute_pre_create_hooks()
2016-03-16 16:46:50 +01:00
975a2bc8b9
Implement: execute_pre_read_hooks()
2016-03-16 16:46:50 +01:00
ac280ba616
Insert pre/post hook execution functions
2016-03-16 16:46:50 +01:00
17b1d6c390
Redefine hook trait system
2016-03-16 16:39:39 +01:00
b9127381b8
Add hook registering
2016-03-16 16:39:39 +01:00
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
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
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
257fe1880e
EntryHeader: Function to get toml object
2016-03-06 11:51:09 +01:00
22e9f8a93b
Remove unused import
2016-03-01 21:21:14 +01:00
1a8106dfd2
Add missing error-forwarding
2016-03-01 21:20:53 +01:00
38b9e15615
Remove unreachable statement
2016-03-01 21:19:15 +01:00
08c37c5fcb
Remove unused "mut" from EntryHeader::delete()
2016-03-01 21:18:17 +01:00
ed3da38701
Remove unused "mut" from EntryHeader::read_with_sep()
2016-03-01 21:18:10 +01:00
309e70df14
Remove unused "mut" from EntryHeader::set_with_sep()
2016-03-01 21:18:04 +01:00
85e69f083e
Remove unused "mut" from EntryHeader::insert_with_sep()
2016-03-01 21:17:49 +01:00
4390c39a6c
Remove unused "mut" from Store::delete()
2016-03-01 21:17:40 +01:00
8dfccba0b8
Remove unused "mut" from Store::retrieve_copy()
2016-03-01 21:17:33 +01:00
df4bc13018
use lazy_static so we do not compile regex multiple times
2016-02-20 21:06:47 +01:00
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
9951422dc4
Impl From<Table> for EntryHeader
2016-02-12 22:07:15 +01:00
794e7617e3
Impl Into<Table> for EntryHeader
2016-02-12 22:02:33 +01:00
df9313c599
Add EntryHeader::insert_with_sep()
2016-02-12 21:57:53 +01:00
54ba22d0ef
Add EntryHeader::set_with_sep()
2016-02-12 21:56:48 +01:00
bca0143343
Add EntryHeader::read_with_sep() which allows seperator modification
2016-02-12 21:55:06 +01:00
a4fa1bac07
Add split-char setting
2016-02-12 21:50:44 +01:00
6397068ddc
Add test for EntryHeader::delete()
2016-02-12 20:02:57 +01:00
cb87f31a23
Add EntryHeader::delete()
2016-02-12 20:02:56 +01:00
30e8afeced
Add tests for inserting values
2016-02-12 20:02:56 +01:00
965c3445a1
Add test for setting value at new path
2016-02-12 20:02:56 +01:00
dd53e467d7
Add EntryHeader::set() test
2016-02-12 20:02:56 +01:00
b4362f5c65
Alter: EntryHeader should contain a Value, not the BTreeMap<>
2016-02-12 20:02:56 +01:00
74a9b844ca
Add debugging output in tests
2016-02-12 20:02:41 +01:00
60ccf58f84
Merge pull request #148 from neithernut/impl-store-retrieve_copy
...
Implement Store::retrieve_copy()
2016-02-12 18:59:56 +01:00
103a0dea17
Add test: EntryHeader::read()
2016-02-11 15:45:48 +01:00
731a446546
Implement EntryHeader::read()
2016-02-11 15:45:47 +01:00
548aee8d5f
Implement EntryHeader::set()
2016-02-11 15:45:47 +01:00
4d94f8a67f
Implement: EntryHeader::insert()
2016-02-11 15:45:47 +01:00
3b09e0c214
Move helper functions outside of walk_header(), so we can use them
2016-02-11 15:45:47 +01:00
42aade5cef
Add tests for path-to-value extractor functionality
2016-02-11 15:43:58 +01:00
4759076249
Implement walk_header()
2016-02-11 15:43:58 +01:00
0727fca797
Add tokenizer helper function
2016-02-11 15:43:58 +01:00
2f6cfb5868
Add interface for header field addressing by str
2016-02-11 15:43:58 +01:00
00ccc22ef5
Add some debugging output for {create,retrieve,delete}
2016-02-09 20:09:12 +01:00
d85f985694
Fixup path-includes-path checker
2016-02-09 20:08:58 +01:00
ddd54e03ad
Add store path getter
2016-02-09 13:45:13 +01:00
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
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
373502217e
Check whether the StoreId is inside the store, before doing anything on the FS
2016-02-06 18:48:59 +01:00