699f4083e9
Add Runtime::store_backend_to_stdout(), make _stdio() variant use stdin properly
2017-06-20 20:57:40 +02:00
e7e3a75924
Add another JSON test for an empty JSON
2017-06-20 20:57:25 +02:00
2790042f6f
Propagate parsing errors
...
This somehow resolved another error as well, where the toml parser
reported an error for the parsed file, despite beeing one in the file.
I don't know how this commit fixed this, but it scares the shit out of
me.
2017-06-20 20:34:47 +02:00
801622ecf2
Add output where paths is set
2017-06-20 20:34:27 +02:00
de3b244a62
Bugfix: Use StoreId::from_full_path()
...
The rationale is that the walker implementation yields the complete path
rather than the local part.
This patch fixes this issue by using StoreId::from_full_path() rather
than StoreId::new().
2017-06-20 20:33:58 +02:00
cac3e6114e
Add debug output to Walk::next() impl
2017-06-20 20:33:54 +02:00
54484a6ee7
Add debug output to StoreId::new_baseless()
2017-06-20 20:33:50 +02:00
2c97d6f194
Merge pull request #974 from matthiasbeyer/libimagstore/embellishments
...
Remove unnecessary clone() call
2017-06-18 20:03:29 +02:00
f8ed6794c2
Merge pull request #975 from matthiasbeyer/libimagstore/backend-replacement
...
Libimagstore/backend replacement
2017-06-18 19:44:32 +02:00
a672e4db21
Remove TODO from Store::reset_backend()
2017-06-18 19:33:52 +02:00
d33b435031
Merge pull request #922 from matthiasbeyer/libimagstore/all-entries
...
Add Store::entries()
2017-06-18 19:17:58 +02:00
bee97c8758
Add Store::entries()
2017-06-18 19:07:15 +02:00
a4188a3100
Add proper impl of Store::reset_backend()
2017-06-18 18:52:27 +02:00
c814171875
Add backend draining
2017-06-18 18:52:21 +02:00
b572e7e8b9
Abstract away the output of the IO backend
...
This patch refactors the output part of the IO backend into an own
backend which is simply used by the IO-backend.
This way we can have a pure-output backend.
2017-06-18 18:52:03 +02:00
caf77012d9
Add tests to test backend replacing
2017-06-18 18:51:58 +02:00
41f3b10976
Add Runtime::store_backend_to_stdio() function
2017-06-18 13:37:50 +02:00
c0936a0273
Add Store::reset_backend() function for re-setting the backend
2017-06-18 13:37:50 +02:00
97741fd4ee
Remove unnecessary clone() call
2017-06-18 13:37:35 +02:00
e75c37fbb2
Merge pull request #973 from matthiasbeyer/libimagstore/io-backend-knows-format
...
Libimagstore/io backend knows format
2017-06-18 12:47:07 +02:00
266311d743
Change backends to do less ser-/deserialization
...
This commit changes the backends to do less de/ser, as it now stores the
Entry objects in the backend and does the de/serialization there.
This means the store does only serialize things once from json to toml
in the io backend.
See the diff of the documentation for more details.
2017-06-18 12:32:04 +02:00
52011a59b2
Move serialize/deserialize calls of Entry to backend
2017-06-18 12:32:03 +02:00
cd99873f17
Merge pull request #972 from matthiasbeyer/libimagstore/io-backend
...
Libimagstore/io backend
2017-06-18 12:31:38 +02:00
3af1042593
Fix fs_to_write() to serialize headers correctly
2017-06-18 11:33:18 +02:00
c013ca8025
Outsource header/content parsing from store.rs to util.rs for reusability
2017-06-18 11:33:18 +02:00
91c427925b
Make backend generic over Read/Write
2017-06-18 11:33:18 +02:00
73c1e79084
Implement high-level store test with IO backend
2017-06-18 11:33:18 +02:00
c4b2287876
Move the documentation to the docs
2017-06-18 11:33:18 +02:00
76dfe23f65
Add StdIoFileAbstraction module documentation
2017-06-18 11:33:18 +02:00
e5c8e9a1ac
Add simple tests
2017-06-18 11:33:18 +02:00
aede9a112b
Add first code draft for JSON mapper implementation
2017-06-18 11:33:17 +02:00
08f9eb3d83
Add new dependencies: Serde*
2017-06-18 11:31:55 +02:00
af2b629a86
Add VersionError kind
2017-06-18 11:31:55 +02:00
4abd9dd7cf
Split into module-files
2017-06-18 11:31:55 +02:00
447f2610ef
Make StdIo backend abstract over IO->"fs"->IO mapper
2017-06-18 11:31:55 +02:00
146e2a1140
Implement backend code for in-memory IO backend
...
This commit implements a backend which reads from a Read when created
and writes to a Write when dropped.
This way, one can initialize stores which are build from commandline
feeded JSON or TOML (currently JSON is implemented/about to be
implemented).
2017-06-18 11:31:55 +02:00
f487550f81
Merge pull request #971 from matthiasbeyer/libimagstore/storeid-local-part-altering
...
Add fn StoreId::local_push() for altering the local part of a StoreId
2017-06-17 21:14:44 +02:00
5b8c138922
Add fn StoreId::local_push() for altering the local part of a StoreId
2017-06-17 17:21:27 +02:00
bc95c5615d
Merge pull request #970 from matthiasbeyer/libimagstore/fs-abstraction-pub
...
Make libimagstore::file_abstraction pub
2017-06-17 14:07:01 +02:00
71e3d3d2d1
Merge pull request #968 from matthiasbeyer/libimagentrytag/validator-helper-enhancement
...
Add is_tag_str(&str) wrapper for is_tag(String)
2017-06-17 12:54:13 +02:00
1f26460b90
Make libimagstore::file_abstraction pub
2017-06-17 12:51:29 +02:00
ac805dcef7
Add is_tag_str(&str) wrapper for is_tag(String)
2017-06-17 12:34:13 +02:00
c4d4fe9389
Merge pull request #967 from matthiasbeyer/libimagstore/remove-todo-comment
...
Remove "TODO"-comment
2017-06-13 09:04:14 +02:00
ac8ea872cb
Remove "TODO"-comment
2017-06-12 19:29:57 +02:00
a9d2d7c354
Merge pull request #962 from matthiasbeyer/libimagstore/fs-memory-backend-as-dependency-injection
...
Libimagstore/fs memory backend as dependency injection
2017-06-10 21:01:57 +02:00
15b77ac2c1
Merge pull request #965 from matthiasbeyer/libimagentrytag/clap-validators
...
Add clap validator for tag string
2017-06-09 14:55:34 +02:00
98c33f7571
Add clap validator for tag string
2017-06-09 13:48:24 +02:00
bec59c1f8a
Remove warnings by returning errors explicitely
2017-06-09 13:27:06 +02:00
81449f48d6
Re-export file abstraction types
2017-06-09 13:22:45 +02:00
f82813bc3d
Use in-memory backend in store tests
2017-06-09 11:15:55 +02:00