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