Commit Graph

427 Commits

Author SHA1 Message Date
Matthias Beyer 3aa2e6edec Add iterator helper for filtering 2018-02-01 16:46:57 +01:00
Matthias Beyer 06cb8d50fb Make StoreId::is_in_collection() generic over AsRef<str> 2018-02-01 16:46:57 +01:00
Matthias Beyer eb6ab8f029 Add IsInCollection helper type 2018-02-01 16:46:57 +01:00
Matthias Beyer da0c1fa594 Rewrite From<> implementations for habit iterators
to be generic over all iterators over StoreIds, so they can be build
directly from them.
2018-02-01 16:46:38 +01:00
Matthias Beyer 3c1a0a51c9 Transform iterator to forget Store reference here 2018-02-01 16:46:38 +01:00
Matthias Beyer b3f546129a Add StoreIdIteratorWithStore::without_store() 2018-02-01 16:46:38 +01:00
Matthias Beyer 8e931cd79f Change calls to into_get_iter() to not take argument 2018-02-01 16:46:38 +01:00
Matthias Beyer 3b01a9eb2f Add API in StoreIdIteratorWithStore to get acting iterators
This patch adds API functions in the StoreIdIteratorWithStore iterator
type to transform it into a iterator which _does_ something (as in the
`libimagstore::iter` API).

It mimics the API which is offered by `libimagstore::iter`.
2018-02-01 15:47:39 +01:00
Matthias Beyer 030e32e44f Provide StoreId Iterator which has a ref to the Store
This change is needed so we can refactor the "get" iterator to not take
an argument (the store) later, which improves the API.
2018-02-01 15:47:39 +01:00
Matthias Beyer da4b823048
Merge pull request #1219 from matthiasbeyer/minor
Minor patches
2018-02-01 13:18:31 +01:00
Matthias Beyer 92c04c606c Refactor to use AsRef<str> 2018-02-01 09:26:33 +01:00
Matthias Beyer 7e53ad9f78 Add datetime <-> string conversion utility 2018-02-01 09:26:33 +01:00
Matthias Beyer 4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
Matthias Beyer 7ecaad830c Refactor to use Iterator::fold() 2018-01-29 09:38:32 +01:00
Matthias Beyer 164b6b7f10 Move documentation to appropriate place 2018-01-29 09:38:32 +01:00
Matthias Beyer 7731b88c97 Remove map_err_trace_exit() calls in favour of map_err_trace_exit_unwrap() 2018-01-29 09:38:32 +01:00
Matthias Beyer 4bd156fdb3 Remove unecessary String instantiation 2018-01-29 09:38:32 +01:00
Matthias Beyer fcfc397fc8 env_logger: 0.5.0-rc.2 -> 0.5 2018-01-18 14:15:40 +01:00
Matthias Beyer 8d9c7dce4f env_logger: 0.5.0-rc.1 -> 0.5.0-rc.2 2018-01-15 11:22:09 +01:00
Matthias Beyer 635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
Matthias Beyer c45130ddd0 env_logger: 0.4.* -> 0.5.0-rc.1 2018-01-15 11:20:27 +01:00
Matthias Beyer 0aba7d2939 Adapt libimagrt for new log setup 2018-01-15 11:20:07 +01:00
Matthias Beyer f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
Matthias Beyer 68fedfb13a libimagentryutil: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer a34cae03e5 libimagentryref: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer e9ae81a2ce libimagentrylink: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 18a6e9b64e libimagentryfilter: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 6c36c97895 libimagentrydatetime: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 7176c130ff libimagentrycategory: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 163bf249ff libimagentryannotation: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 13ff09d8c6 libimagtodo: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 397f79b238 libimagtimetrack: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer cb0cb21220 libimagnotes: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 014b54ad4e libimaglog: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer f2b72f4738 libimaghabit: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 46774d765b libimagdiary: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 3ef5fcfab6 libimagstore: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer febecd85e5 libimagrt: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
Matthias Beyer bfc35e0517 Remove dependency "version"
Because the "version" crate is licensed as GPL, which would us require
to release imag as GPL, we remove the crate now.
2018-01-12 13:33:40 +01:00
Matthias Beyer 9a9701fce5 Add flag settings/Contact::is_contact in libimagcontact 2018-01-08 23:46:36 +01:00
Matthias Beyer 7fb13acf15 Add Ref::is_ref() 2018-01-08 23:46:36 +01:00
Matthias Beyer 1f133eac3b Use libimagentryutil::isa::Is in libimaghabit 2018-01-08 23:31:10 +01:00
Matthias Beyer 00d09e618e Use libimagentryutil::isa::Is in libimagentryannotation 2018-01-08 23:31:10 +01:00
Matthias Beyer a7c8fa1212 Add Is::set_isflag() helper function 2018-01-08 23:31:10 +01:00
Matthias Beyer a246144c26 Add Is helper trait 2018-01-08 23:31:10 +01:00
Matthias Beyer 2d83796ef2 Initial import: libimagentryutil 2018-01-08 23:31:10 +01:00
Matthias Beyer 7cf60d5bec
Merge pull request #1208 from matthiasbeyer/libimagdiary-bookmarkcollection-nonwrapping
libimagdiary: Do not wrap store types
2018-01-08 23:11:54 +01:00
Matthias Beyer 689310edfe Rename `Store::retrieve_copy` to `Store::get_copy`
The function was named falsely and nobody noticed. So nobody uses this
function yet - hopefully - as this change is a breaking API change.
2018-01-08 15:16:41 +01:00
Matthias Beyer 80c460dac9 Transform BookmarkCollection into two traits
One trait is implemented on the Store, it retrieves BookmarkCollection
objects.
The other is implemented on `libimagstore::store::Entry` which then
represents a BookmarkCollection.
2018-01-08 15:16:14 +01:00
Matthias Beyer c0f4a20367
Merge pull request #1200 from matthiasbeyer/refactor-matching-into-command-chaining
Refactor matching into command chaining
2018-01-05 15:19:32 +01:00
Matthias Beyer 2c0f35e1a4
Merge pull request #1195 from matthiasbeyer/libimagdiary/support-seconds
Add second-support in libimagdiary
2018-01-05 13:54:12 +01:00
Matthias Beyer 824f88e4fd Refactoring: Use function chaining rather than matching 2018-01-05 13:32:31 +01:00
Matthias Beyer 66b0611103 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer dac817f318 Refactor: Use function chaining and new error type link 2018-01-05 11:37:09 +01:00
Matthias Beyer 1e2ac14d3b Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer c92e459e3a Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 5db3d0c278 Refactor: Use function chaining rather than matching
And use a helper function for common functionality
2018-01-05 11:37:09 +01:00
Matthias Beyer feaa32196b Refactoring: Use function chaining rather than matching
Also introduce error links for this.
2018-01-05 11:37:09 +01:00
Matthias Beyer 3294a77346 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 40490c10d6 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer dd66936e48 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer a386d50df3 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer e7d5e9ebc2 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 4bb0d0f073 Refactor: Use function chaining instead of matching 2018-01-05 11:37:09 +01:00
Matthias Beyer d5ce99b170 Refactor toml destructure matching.
Use accessor functionality and function chaining now.
2018-01-05 11:37:09 +01:00
Matthias Beyer 4184a1e5d0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer fa8ac03701 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer dbd9a2faaf Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer c1ff2b14f0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer a9135a80fb Replace matching with command chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer 7d1d41884c Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer 57cf5003bd Move common functionality to utility module 2018-01-05 11:37:09 +01:00
Matthias Beyer 0640bdeb73 Add second-support in libimagdiary 2018-01-04 19:39:07 +01:00
Matthias Beyer 01bd020419 Remove unused imports 2018-01-04 19:35:35 +01:00
Matthias Beyer 02f38fb209 Fix comments: Use two instead of three slashes 2018-01-04 19:34:55 +01:00
Matthias Beyer e518598351 Remove unneeded "mut" 2018-01-04 19:34:43 +01:00
Matthias Beyer af819f0fca Remove unneeded "mut" 2018-01-04 19:34:21 +01:00
Matthias Beyer 0c9c9e26c1
Merge pull request #1183 from matthiasbeyer/libimaglog/init
libimaglog: init
2018-01-01 21:18:22 +01:00
Matthias Beyer 529f3f83da
Merge pull request #1187 from matthiasbeyer/libimagerror/display-fix
Improve error output
2018-01-01 20:47:24 +01:00
Matthias Beyer 774933ae4a
Merge pull request #1163 from matthiasbeyer/libimagstore/mighty-iters
libimagstore: More powerful iterator extensions
2017-12-25 22:02:56 +01:00
Matthias Beyer 198e304be9 Initial import of libimaglog implementation 2017-12-25 21:55:04 +01:00
Matthias Beyer 92d4a0237e Initial import: libimaglog 2017-12-25 21:46:04 +01:00
Matthias Beyer 9890371652
Merge pull request #1185 from matthiasbeyer/bump-version-strings
Update version strings: 0.5.0 -> 0.6.0
2017-12-25 21:06:14 +01:00
Matthias Beyer 0ae7b6b387 Do not call description() when displaying the error 2017-12-25 19:44:29 +01:00
Matthias Beyer 46a8d373b3 Allow dead code in whole module 2017-12-25 19:23:41 +01:00
Matthias Beyer 7d67b67440 Update version strings in tests 2017-12-25 19:17:07 +01:00
Matthias Beyer 3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
Matthias Beyer 9128d04866 Remove test
This test is not applicable anymore because it tests (and tested) the
wrong thing.

It was to check whether the function failed because the "imag" key
contained the wrong type, but this is not tested by that function. The
function only checks whether the "imag" key is present.
2017-12-25 17:59:50 +01:00
Matthias Beyer 35410aaa2e Refactor: Remove unneccessary functions 2017-12-25 17:59:50 +01:00
Matthias Beyer 20a552f527 Refactor header checking to use toml-query 2017-12-25 17:59:50 +01:00
Matthias Beyer 2bf91fab09 Enhance error types 2017-12-25 17:59:50 +01:00
Matthias Beyer 986dbad2fd
Merge pull request #1176 from matthiasbeyer/libimagstore/remove-config
libimagstore: remove config
2017-12-25 17:58:16 +01:00
Matthias Beyer 0870665668 Add iterator extension for iterators over Result<T, E> 2017-12-24 13:52:50 +01:00
Matthias Beyer 67410b3ad2 Implement iter extension for all iterators over StoreId 2017-12-24 13:52:50 +01:00
Matthias Beyer 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
Matthias Beyer 174d8d76e9 Remove configuration member, reduce configuration
We only need the configuration to check whether creating the store
directory is actually allowed.
2017-12-24 13:52:13 +01:00
Matthias Beyer 38b56df406 Add new dependency: toml-query 2017-12-24 13:52:13 +01:00
Matthias Beyer cf5b4239c4 Update version string
Holy crap this should really not happen. We accidentially released this
crate as 0.4.0 instead of 0.5.0.
2017-12-24 13:31:59 +01:00
Matthias Beyer 9ecd1849d7 Fix README path 2017-12-24 13:31:59 +01:00