Commit graph

31 commits

Author SHA1 Message Date
b66371f79b Rewrite Store::new* API: libimagstore does not export backend types
With this change applied, libimagstore does not export backend
representing types anymore.

This change is necessar because when we want to switch the `StoreId`
implementation from "complex and stateful" to "Stateless and Cow<'_,
&str>", we need to be able to have a type which represents a "`StoreId`
plus the path of the Store itself".
This "the path of the Store itself" is passed around as reference, to
minimize runtime impact.

Because such a type should not be exported by the libimagstore crate, we
make it `pub(crate)` internally. But because the backend APIs also have
to use this type, we would export the (private) type in the APIs of the
backend.

Because of that we make the backend API also non-visible to crate users,
which also decreases the surface of the libimagstore API itself.

Besides:
Remove function `Link::with_base()` which is not needed anymore (was
used in tests only).

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-15 20:53:28 +01:00
9185abcfa5 Update copyright years
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-01-03 18:41:36 +01:00
1f5b490dd7 Change test output to use debug!() 2018-11-01 20:37:02 +01:00
32e8c43ccb libimagentrylink: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:28 +01:00
84f426297e Add debug output 2018-05-01 22:29:46 +02:00
2f0a557068 Fix for passing Arc<_> to store interface instead of Box<_> 2018-05-01 21:08:57 +02:00
ea80a5a09b Derive Default for InMemoryFileAbstraction, remove constructor 2018-04-25 19:15:07 +02:00
3819dabff1 Remove attribute
This fixes a crash with the (beta) compiler rustc 1.26.
2018-04-13 16:41:42 +02:00
6055520519 Provide unlink() to remove all links 2018-02-25 18:59:02 +01:00
d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
8e931cd79f Change calls to into_get_iter() to not take argument 2018-02-01 16:46:38 +01:00
7ecaad830c Refactor to use Iterator::fold() 2018-01-29 09:38:32 +01:00
c45130ddd0 env_logger: 0.4.* -> 0.5.0-rc.1 2018-01-15 11:20:27 +01:00
dac817f318 Refactor: Use function chaining and new error type link 2018-01-05 11:37:09 +01:00
02f38fb209 Fix comments: Use two instead of three slashes 2018-01-04 19:34:55 +01:00
0ed636bb06 Refactor libimagrt+libimagstore to pass whole configuration object
Before we extracted the store configuration from the configuration
toml::Value object and passed it to the store.

This is unecessary overhead.

Now we pass the whole configuration object and let the store extract the
required values.
2017-12-24 13:52:18 +01:00
da391954cc Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
169107d569 Remove FoldResult 2017-09-30 10:45:10 +02:00
1f28328476 Merge pull request #1107 from matthiasbeyer/libimagentrylink/error-refactoring
Use error chain link functionality to remove link-conversion boilerplate
2017-09-23 19:50:16 +02:00
5894c27e44 Use error chain link functionality to remove link-conversion boilerplate 2017-09-23 18:32:23 +02:00
aa1f58cfff Add test for testing annotation 2017-09-23 14:13:16 +02:00
eb118c2b17 Reimplement aggregating functionality
Which fixes the bug that a dead link was not found.
2017-09-21 17:30:20 +02:00
e18c68d5cb Add output of aggregated linking-network 2017-09-21 17:30:20 +02:00
74a7208757 Fix: critical typo 2017-09-21 12:23:32 +02:00
8aa5c2d82d Fix header locations
Also change that the implementation uses toml_query::set instead of
toml_query::insert.

Inserting values creates intermediate tables, set doesn't. And we really
want that convenience here, as the code is complex enough on its own.
2017-09-09 16:36:21 +02:00
9d8a8f0bf4 Fix Store loading in tests: Use in-memory store backend 2017-09-05 22:00:58 +02:00
18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
ca0dd5906d libimagentrylink: Rewrite error handling 2017-09-03 21:33:54 +02:00
c0c62bd1b5 Change crates to use toml-query crate 2017-08-28 12:22:37 +02:00
59a3662ac4 Reorganize code in subdirs 2017-08-27 15:12:09 +02:00
Renamed from libimagentrylink/src/internal.rs (Browse further)