Commit graph

42 commits

Author SHA1 Message Date
e4e3c05f05 Merge pull request #326 from matthiasbeyer/libimaglink/external-linking-rewrite
Libimaglink/external linking rewrite
2016-04-16 17:05:38 +02:00
59071c9948 Refactor: Use helper for type conversions instead of doing everything three times 2016-04-16 16:09:34 +02:00
915e711c3e Sort links alphabetically before writing 2016-04-16 16:09:00 +02:00
b63e2cb7b2 Make links unique before writing 2016-04-16 15:54:38 +02:00
0f7b2f16f9 Add dependency: itertool = 0.4.7 2016-04-16 15:54:25 +02:00
22a64dbc30 Rewrite set_external_links() 2016-04-16 15:38:51 +02:00
f482c2564b Reimplement hash generation with rust-crypto 2016-04-16 15:38:51 +02:00
781498832b Add dependency rust-crypto 2016-04-16 15:38:41 +02:00
fdb03666b8 Add debug!() calls for external linking source 2016-04-16 15:37:01 +02:00
766fb2a9e2 Implement remove_external_link() 2016-04-16 15:37:01 +02:00
3a89607922 Add implementation for add_external_link() 2016-04-16 15:37:01 +02:00
f85faca6b3 Add StoreWriteError error type 2016-04-16 15:37:01 +02:00
23049d02c6 Implement link setting 2016-04-16 15:37:01 +02:00
890458ea1e Add module_entry_path_mod!() call, so we have an own module path for the link library
- Add missing extern crate semver
- Add missing semver import
2016-04-16 15:36:50 +02:00
91caa0c665 Implement get_external_links() 2016-04-16 13:33:13 +02:00
5645edeeff Rewrite external linking 2016-04-16 13:33:13 +02:00
0cc50691b6 Rewrite process_rw_result()
It did not cover the aspect that the passed toml `Value` object was an
Array in the first place and assumed that it is an `String` instead,
which caused the function always to return an Result::Err, which was
obviousely buggy.

This is almost a rewrite of the process_rw_result() function which takes
the additional layer (Array(String)) into account and therefor fixes
this issue.
2016-04-12 22:00:40 +02:00
8d9d6651fb Refactor common pattern into function 2016-04-09 14:43:11 +02:00
77fa6d71b3 Rewrite internal linking to use StoreId instead of String as Link type 2016-04-08 23:57:16 +02:00
086ad0ec69 Add external-link validation before setting 2016-03-11 15:15:02 +01:00
695ee9df9b Add (external) link validation 2016-03-11 15:15:02 +01:00
cb288eb868 Rewrite internal linking
* so you need to pass Entry instead of Link
* interal linking does two-way-linking
2016-03-11 15:15:02 +01:00
3b02a30788 Move Link/Links type to external linking code 2016-03-11 15:15:02 +01:00
b8766a224e Implement ExternalLinker for Entry for convenience 2016-03-11 15:15:02 +01:00
d6029678c7 Implement InternalLinker for Entry, for convenience 2016-03-11 15:15:02 +01:00
defec535c8 Refactor internal link helpers into trait 2016-03-11 15:15:02 +01:00
1e17b10568 Refactor external linking into trait 2016-03-11 15:15:02 +01:00
277c31237a lib: Add remove_link() 2016-03-11 15:15:02 +01:00
b7a5f57e3a lib: Implement add_link() 2016-03-11 15:15:02 +01:00
339ec08a83 lib: Add Links::{add,remove}() 2016-03-11 15:15:02 +01:00
6480fb515c lib: Derive some traits for Link{,s} type 2016-03-11 15:15:02 +01:00
19322b667a Add helper for processing store result 2016-03-11 15:15:02 +01:00
a53d36c23d Implement internal::set_links() 2016-03-11 15:15:02 +01:00
950dce945f Implement internal::get_links() 2016-03-11 15:15:02 +01:00
b6168f50a1 Implement: Links::new() 2016-03-11 15:15:02 +01:00
e4fae4cfcf Implement: of external::set_link() 2016-03-11 15:15:02 +01:00
18de6b80d5 Implement: external::get_link() 2016-03-11 15:15:02 +01:00
e6e9a1a19e Add Error kinds 2016-03-11 15:15:02 +01:00
17daf7c387 Add Link::new() 2016-03-11 15:15:02 +01:00
ff3d5dd94b Add initial interface spec 2016-03-11 15:15:02 +01:00
2430e68dc2 Add dependencies 2016-03-11 15:15:02 +01:00
e43bfa2c2c init: libimaglink 2016-03-11 15:15:02 +01:00