resync 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +8 -0
- data/README.md +14 -14
- data/lib/resync/capability_list.rb +2 -0
- data/lib/resync/change_dump_index.rb +15 -0
- data/lib/resync/change_list_index.rb +0 -11
- data/lib/resync/resource_dump_index.rb +15 -0
- data/lib/resync/shared/base_resource_list.rb +1 -0
- data/lib/resync/shared/sorted_resource_list.rb +7 -0
- data/lib/resync/types/change.rb +2 -1
- data/lib/resync/types/change_frequency.rb +1 -0
- data/lib/resync/version.rb +1 -1
- data/lib/resync/xml_parser.rb +3 -1
- data/spec/acceptance/xml_parser_spec.rb +57 -0
- data/spec/data/changedump-index.xml +22 -0
- data/spec/data/resourcedump-index.xml +21 -0
- data/spec/unit/resync/change_dump_index_spec.rb +49 -0
- data/spec/unit/resync/resource_dump_index_spec.rb +53 -0
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ac849438f247e3776ef21a93c6466e83e3bb45f
|
4
|
+
data.tar.gz: 184a1d96dd47fd6bc0c1b413d7cbc318411e5e3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cdd7b2571b0caaea6aaeff82212072edbfc5f3b020d4c924c0cec227fa8f2c0ab8c1c1f1ee88171f8d2ca5c1ce0379c01db56ae40013db9375354c3a6533a41
|
7
|
+
data.tar.gz: ac5c5df6d0c6f3c02f0dbde7c6a4c79b9b0aeb340a46a33cf3e01525f8383805eb849db0a0e8bda7a72fa11d7c6b46638a9dac00f16357ba6d7f92a6741e7f3d
|
data/CHANGES.md
ADDED
data/README.md
CHANGED
@@ -8,10 +8,6 @@ It consists of the following:
|
|
8
8
|
- Classes for the [major sub-structures](http://www.openarchives.org/rs/1.0/resourcesync#DocumentFormats) of those documents, such as the `<url>` and `<sitemap>` tags (subsumed under the [Resource](lib/resync/resource.rb) class) defined by the Sitemap specification, as well as the ResourceSync-specific `<rs:ln>` and `<rs:md>` tags (the [Link](lib/resync/link.rb) and [Metadata](lib/resync/metadata.rb) classes, respectively).
|
9
9
|
- An [XMLParser](lib/resync/xml_parser.rb) class that can take a ResourceSync-augmented Sitemap document (in the form of an `REXML::Element`, an `REXML::Document`, a string, an `IO`, or something sufficiently `IO`-like that `REXML::Document` can parse it) and produce an instance of the appropriate class based on the `capability` attribute in the root element's metadata.
|
10
10
|
|
11
|
-
## Status
|
12
|
-
|
13
|
-
This is a work in progress. We welcome bug reports and feature requests (particularly on the document creation side, which our use cases haven't really explored).
|
14
|
-
|
15
11
|
## Usage
|
16
12
|
|
17
13
|
### Parsing a ResourceSync document
|
@@ -29,10 +25,10 @@ capability_list = Resync::XMLParser.parse(data)
|
|
29
25
|
require 'resync'
|
30
26
|
|
31
27
|
change_list = Resync::ChangeList.new(
|
32
|
-
links: [ Resync::Link.new(rel
|
28
|
+
links: [ Resync::Link.new(rel: 'up', href: 'http://example.com/my-dataset/my-capability-list.xml') ],
|
33
29
|
metadata: Resync::Metadata.new(
|
34
|
-
capability
|
35
|
-
from_time
|
30
|
+
capability: 'changelist',
|
31
|
+
from_time: Time.utc(2013, 1, 3)
|
36
32
|
)
|
37
33
|
resources: [
|
38
34
|
# ... generate list of changes here ...
|
@@ -47,28 +43,32 @@ formatter.write(xml, $stdout)
|
|
47
43
|
|
48
44
|
[resync-client](https://github.com/dmolesUC3/resync-client), a Ruby client library for ResourceSync.
|
49
45
|
|
50
|
-
##
|
46
|
+
## Status
|
47
|
+
|
48
|
+
This is a work in progress. Bug reports and feature requests are welcome (particularly on the document creation side, which our use cases haven't really explored).
|
49
|
+
|
50
|
+
### Known limitations
|
51
51
|
|
52
|
-
|
52
|
+
#### Structural inconvenience and unnecessary repetition
|
53
53
|
|
54
54
|
There are certain well-specified relationships between elements: most document types should always have a link with an `up` relationship, many resources should have metadata with a defined `capability` attribute, and so on. In some cases there are convenience getters for these attributes on the 'parent' object (e.g. you can ask for the `capability` directly without violating the law of Demeter), but there generally aren't corresponding convenience setters, or convenience initializer parameters.
|
55
55
|
|
56
56
|
Document types (`ChangeList`, `ResourceList`, etc.) will create a `Metadata` with the appropriate capability for themselves if none is specified, but if they're initialized with one that doesn't declare a capability, they'll raise an exception rather than fill it in (just as they'll raise an exception if the wrong capability is specified).
|
57
57
|
|
58
|
-
|
58
|
+
#### Logical relationships between elements
|
59
59
|
|
60
60
|
A `ChangeList` should contain only resources with `Metadata` declaring a `change` type. The resources in a `ResourceDumpManifest` should each declare a `path` indicating their locations in the ZIP file. `resync` doesn't currently do anything to enforce, validate, or assist in compliance with these and similar restrictions.
|
61
61
|
|
62
62
|
(An exception: document types will complain if initialized with `Metadata` having the wrong capability.)
|
63
63
|
|
64
|
-
|
64
|
+
#### Time attribute requirements
|
65
65
|
|
66
66
|
The required/forbidden time attributes defined in Appendix A,
|
67
67
|
"[Time Attribute Requirements](http://www.openarchives.org/rs/1.0/resourcesync#TimeAttributeReqs)",
|
68
68
|
of the ResourceSync specification are not enforced; it's possible to
|
69
69
|
create, e.g., a `ResourceList` with a `from_time` on its metadata, or a `ChangeList` with members whose metadata does not declare a `modified_time`, even though both scenarios are forbidden by the specification.
|
70
70
|
|
71
|
-
|
71
|
+
#### Value restrictions from XML schemata
|
72
72
|
|
73
73
|
The [ResourceSync schema](http://www.openarchives.org/rs/0.9.1/resourcesync.xsd) defines restrictions on the values of several attributes:
|
74
74
|
|
@@ -83,10 +83,10 @@ The [Sitemap](http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd) and [Site
|
|
83
83
|
|
84
84
|
None of these restrictions are currently enforced by `resync`.
|
85
85
|
|
86
|
-
|
86
|
+
#### Element order
|
87
87
|
|
88
88
|
When reading a ResourceSync document from XML and writing it back out, `<rs:ln>` elements will always appear before `<rs:md>` elements, regardless of their order in the original source.
|
89
89
|
|
90
|
-
|
90
|
+
#### Namespace weirdness
|
91
91
|
|
92
92
|
The [XML::Mapping](https://github.com/multi-io/xml-mapping) library `resync` uses doesn't support namespaces, so namespace handling in `resync` is a bit hacky. In particular, you may see strange behavior when using `<rs:ln>`, `<rs:md>`, `<url>`, or `<sitemap>` tags outside the context of a `<urlset>`/`<sitemapindex>`.
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative 'shared/sorted_resource_list'
|
2
|
+
require_relative 'shared/sitemap_index'
|
3
|
+
|
4
|
+
module Resync
|
5
|
+
# A change dump index. See under section 13.1,
|
6
|
+
# "{http://www.openarchives.org/rs/1.0/resourcesync#ChangeDumpIndex Change Dump}",
|
7
|
+
# in the ResourceSync specification.
|
8
|
+
class ChangeDumpIndex < SortedResourceList
|
9
|
+
include ::XML::Mapping
|
10
|
+
include SitemapIndex
|
11
|
+
|
12
|
+
# The capability provided by this type.
|
13
|
+
CAPABILITY = 'changedump'
|
14
|
+
end
|
15
|
+
end
|
@@ -11,16 +11,5 @@ module Resync
|
|
11
11
|
|
12
12
|
# The capability provided by this type.
|
13
13
|
CAPABILITY = 'changelist'
|
14
|
-
|
15
|
-
# use_mapping :sitemapindex
|
16
|
-
# root_element_name 'sitemapindex'
|
17
|
-
# array_node :resources, 'sitemap', class: Resource, default_value: [], sub_mapping: :_default
|
18
|
-
#
|
19
|
-
# # Ensures that an index is always written as a +<sitemapindex>+.
|
20
|
-
# # Overrides +::XML::Mapping.save_to_xml+.
|
21
|
-
# def save_to_xml(options = { mapping: :_default })
|
22
|
-
# options = options.merge(mapping: :sitemapindex)
|
23
|
-
# super(options)
|
24
|
-
# end
|
25
14
|
end
|
26
15
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative 'shared/base_resource_list'
|
2
|
+
require_relative 'shared/sitemap_index'
|
3
|
+
|
4
|
+
module Resync
|
5
|
+
# A resource dump index. See under section 11.1,
|
6
|
+
# "{http://www.openarchives.org/rs/1.0/resourcesync#ResourceDumpIndex Resource Dump}",
|
7
|
+
# in the ResourceSync specification.
|
8
|
+
class ResourceDumpIndex < BaseResourceList
|
9
|
+
include ::XML::Mapping
|
10
|
+
include SitemapIndex
|
11
|
+
|
12
|
+
# The capability provided by this type.
|
13
|
+
CAPABILITY = 'resourcedump'
|
14
|
+
end
|
15
|
+
end
|
@@ -19,13 +19,20 @@ module Resync
|
|
19
19
|
# ------------------------------------------------------------
|
20
20
|
# Custom accessors
|
21
21
|
|
22
|
+
# @return [Hash<URI, Array<Resource>>] resources grouped by URI.
|
23
|
+
# Order is not guaranteed.
|
22
24
|
attr_reader :resources_by_uri
|
23
25
|
|
26
|
+
# @param uri [URI] the URI of the resource
|
27
|
+
# @return [Resource] the resource with the most recent modified time
|
28
|
+
# for the specified URI.
|
24
29
|
def latest_for(uri:)
|
25
30
|
uri = XML.to_uri(uri)
|
26
31
|
@resources_by_uri[uri].last
|
27
32
|
end
|
28
33
|
|
34
|
+
# @return [Array<URI>] the set of all URIs for which this list has
|
35
|
+
# resources. Order is not guaranteed.
|
29
36
|
def all_uris
|
30
37
|
@resources_by_uri.keys
|
31
38
|
end
|
data/lib/resync/types/change.rb
CHANGED
@@ -2,7 +2,8 @@ require 'ruby-enum'
|
|
2
2
|
|
3
3
|
module Resync
|
4
4
|
module Types
|
5
|
-
# The type of change indicated by a reference in a
|
5
|
+
# The type of change indicated by a reference in a {ChangeList}, {ChangeDump}, etc.
|
6
|
+
# Values: +CREATED+, +UPDATED+, +DELETED+
|
6
7
|
class Change
|
7
8
|
include Ruby::Enum
|
8
9
|
|
data/lib/resync/version.rb
CHANGED
data/lib/resync/xml_parser.rb
CHANGED
@@ -1045,5 +1045,62 @@ module Resync
|
|
1045
1045
|
expect(ln.length).to eq(8876)
|
1046
1046
|
expect(ln.mime_type).to be_mime_type('text/html')
|
1047
1047
|
end
|
1048
|
+
|
1049
|
+
it 'parses a change dump index' do
|
1050
|
+
data = File.read('spec/data/changedump-index.xml')
|
1051
|
+
sitemapindex = XMLParser.parse(data)
|
1052
|
+
expect(sitemapindex).to be_a(ChangeDumpIndex)
|
1053
|
+
|
1054
|
+
links = sitemapindex.links
|
1055
|
+
expect(links.size).to eq(1)
|
1056
|
+
ln0 = links[0]
|
1057
|
+
expect(ln0.rel).to eq('up')
|
1058
|
+
expect(ln0.uri).to eq(URI('http://example.com/dataset1/capabilitylist.xml'))
|
1059
|
+
|
1060
|
+
md = sitemapindex.metadata
|
1061
|
+
expect(md.capability).to eq('changedump')
|
1062
|
+
expect(md.from_time).to be_time(Time.utc(2013, 1, 1))
|
1063
|
+
|
1064
|
+
sitemaps = sitemapindex.resources
|
1065
|
+
expect(sitemaps.size).to eq(3)
|
1066
|
+
|
1067
|
+
expected_froms = [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2), Time.utc(2013, 1, 3)]
|
1068
|
+
expected_untils = [Time.utc(2013, 1, 2), Time.utc(2013, 1, 3), nil]
|
1069
|
+
(0..2).each do |i|
|
1070
|
+
sitemap = sitemaps[i]
|
1071
|
+
expect(sitemap.uri).to eq(URI("http://example.com/2013010#{i + 1}-changedump.xml"))
|
1072
|
+
md = sitemap.metadata
|
1073
|
+
expect(md.from_time).to be_time(expected_froms[i])
|
1074
|
+
expect(md.until_time).to be_time(expected_untils[i])
|
1075
|
+
end
|
1076
|
+
end
|
1077
|
+
|
1078
|
+
it 'parses a resource dump index' do
|
1079
|
+
data = File.read('spec/data/resourcedump-index.xml')
|
1080
|
+
sitemapindex = XMLParser.parse(data)
|
1081
|
+
expect(sitemapindex).to be_a(ResourceDumpIndex)
|
1082
|
+
|
1083
|
+
links = sitemapindex.links
|
1084
|
+
expect(links.size).to eq(1)
|
1085
|
+
ln0 = links[0]
|
1086
|
+
expect(ln0.rel).to eq('up')
|
1087
|
+
expect(ln0.uri).to eq(URI('http://example.com/dataset1/capabilitylist.xml'))
|
1088
|
+
|
1089
|
+
md = sitemapindex.metadata
|
1090
|
+
expect(md.capability).to eq('resourcedump')
|
1091
|
+
expect(md.at_time).to be_time(Time.utc(2013, 1, 3, 9))
|
1092
|
+
expect(md.completed_time).to be_time(Time.utc(2013, 1, 3, 9, 10))
|
1093
|
+
|
1094
|
+
sitemaps = sitemapindex.resources
|
1095
|
+
expect(sitemaps.size).to eq(3)
|
1096
|
+
|
1097
|
+
expected_times = [Time.utc(2013, 1, 3, 9), Time.utc(2013, 1, 3, 9, 3), Time.utc(2013, 1, 3, 9, 7)]
|
1098
|
+
(0..2).each do |i|
|
1099
|
+
sitemap = sitemaps[i]
|
1100
|
+
expect(sitemap.uri).to eq(URI("http://example.com/resourcedump#{i + 1}.xml"))
|
1101
|
+
md = sitemap.metadata
|
1102
|
+
expect(md.at_time).to be_time(expected_times[i])
|
1103
|
+
end
|
1104
|
+
end
|
1048
1105
|
end
|
1049
1106
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
3
|
+
xmlns:rs="http://www.openarchives.org/rs/terms/">
|
4
|
+
<rs:ln rel="up"
|
5
|
+
href="http://example.com/dataset1/capabilitylist.xml"/>
|
6
|
+
<rs:md capability="changedump"
|
7
|
+
from="2013-01-01T00:00:00Z"/>
|
8
|
+
<sitemap>
|
9
|
+
<loc>http://example.com/20130101-changedump.xml</loc>
|
10
|
+
<rs:md from="2013-01-01T00:00:00Z"
|
11
|
+
until="2013-01-02T00:00:00Z"/>
|
12
|
+
</sitemap>
|
13
|
+
<sitemap>
|
14
|
+
<loc>http://example.com/20130102-changedump.xml</loc>
|
15
|
+
<rs:md from="2013-01-02T00:00:00Z"
|
16
|
+
until="2013-01-03T00:00:00Z"/>
|
17
|
+
</sitemap>
|
18
|
+
<sitemap>
|
19
|
+
<loc>http://example.com/20130103-changedump.xml</loc>
|
20
|
+
<rs:md from="2013-01-03T00:00:00Z"/>
|
21
|
+
</sitemap>
|
22
|
+
</sitemapindex>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
3
|
+
xmlns:rs="http://www.openarchives.org/rs/terms/">
|
4
|
+
<rs:ln rel="up"
|
5
|
+
href="http://example.com/dataset1/capabilitylist.xml"/>
|
6
|
+
<rs:md capability="resourcedump"
|
7
|
+
at="2013-01-03T09:00:00Z"
|
8
|
+
completed="2013-01-03T09:10:00Z"/>
|
9
|
+
<sitemap>
|
10
|
+
<loc>http://example.com/resourcedump1.xml</loc>
|
11
|
+
<rs:md at="2013-01-03T09:00:00Z"/>
|
12
|
+
</sitemap>
|
13
|
+
<sitemap>
|
14
|
+
<loc>http://example.com/resourcedump2.xml</loc>
|
15
|
+
<rs:md at="2013-01-03T09:03:00Z"/>
|
16
|
+
</sitemap>
|
17
|
+
<sitemap>
|
18
|
+
<loc>http://example.com/resourcedump3.xml</loc>
|
19
|
+
<rs:md at="2013-01-03T09:07:00Z"/>
|
20
|
+
</sitemap>
|
21
|
+
</sitemapindex>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require_relative 'shared/sorted_list_examples'
|
2
|
+
|
3
|
+
module Resync
|
4
|
+
describe ChangeDumpIndex do
|
5
|
+
it_behaves_like SortedResourceList
|
6
|
+
|
7
|
+
describe 'XML conversion' do
|
8
|
+
describe '#from_xml' do
|
9
|
+
it 'parses an XML string' do
|
10
|
+
|
11
|
+
xml = File.read('spec/data/changedump-index.xml')
|
12
|
+
sitemapindex = ChangeDumpIndex.load_from_xml(XML.element(xml))
|
13
|
+
|
14
|
+
links = sitemapindex.links
|
15
|
+
expect(links.size).to eq(1)
|
16
|
+
ln0 = links[0]
|
17
|
+
expect(ln0.rel).to eq('up')
|
18
|
+
expect(ln0.uri).to eq(URI('http://example.com/dataset1/capabilitylist.xml'))
|
19
|
+
|
20
|
+
md = sitemapindex.metadata
|
21
|
+
expect(md.capability).to eq('changedump')
|
22
|
+
expect(md.from_time).to be_time(Time.utc(2013, 1, 1))
|
23
|
+
|
24
|
+
sitemaps = sitemapindex.resources
|
25
|
+
expect(sitemaps.size).to eq(3)
|
26
|
+
|
27
|
+
expected_froms = [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2), Time.utc(2013, 1, 3)]
|
28
|
+
expected_untils = [Time.utc(2013, 1, 2), Time.utc(2013, 1, 3), nil]
|
29
|
+
(0..2).each do |i|
|
30
|
+
sitemap = sitemaps[i]
|
31
|
+
expect(sitemap.uri).to eq(URI("http://example.com/2013010#{i + 1}-changedump.xml"))
|
32
|
+
md = sitemap.metadata
|
33
|
+
expect(md.from_time).to be_time(expected_froms[i])
|
34
|
+
expect(md.until_time).to be_time(expected_untils[i])
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#save_to_xml' do
|
40
|
+
it 'can round-trip to XML' do
|
41
|
+
data = File.read('spec/data/changedump-index.xml')
|
42
|
+
list = ChangeDumpIndex.load_from_xml(XML.element(data))
|
43
|
+
xml = list.save_to_xml
|
44
|
+
expect(xml).to be_xml(data)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require_relative 'shared/base_resource_list_examples'
|
2
|
+
|
3
|
+
module Resync
|
4
|
+
describe ResourceListIndex do
|
5
|
+
it_behaves_like BaseResourceList
|
6
|
+
|
7
|
+
describe 'links' do
|
8
|
+
it_behaves_like Augmented
|
9
|
+
end
|
10
|
+
|
11
|
+
describe 'XML conversion' do
|
12
|
+
describe '#from_xml' do
|
13
|
+
it 'parses an XML string' do
|
14
|
+
data = File.read('spec/data/resourcedump-index.xml')
|
15
|
+
sitemapindex = ResourceDumpIndex.load_from_xml(XML.element(data))
|
16
|
+
|
17
|
+
links = sitemapindex.links
|
18
|
+
expect(links.size).to eq(1)
|
19
|
+
ln0 = links[0]
|
20
|
+
expect(ln0.rel).to eq('up')
|
21
|
+
expect(ln0.uri).to eq(URI('http://example.com/dataset1/capabilitylist.xml'))
|
22
|
+
|
23
|
+
md = sitemapindex.metadata
|
24
|
+
expect(md.capability).to eq('resourcedump')
|
25
|
+
expect(md.at_time).to be_time(Time.utc(2013, 1, 3, 9))
|
26
|
+
expect(md.completed_time).to be_time(Time.utc(2013, 1, 3, 9, 10))
|
27
|
+
|
28
|
+
sitemaps = sitemapindex.resources
|
29
|
+
expect(sitemaps.size).to eq(3)
|
30
|
+
|
31
|
+
expected_times = [Time.utc(2013, 1, 3, 9), Time.utc(2013, 1, 3, 9, 3), Time.utc(2013, 1, 3, 9, 7)]
|
32
|
+
(0..2).each do |i|
|
33
|
+
sitemap = sitemaps[i]
|
34
|
+
expect(sitemap.uri).to eq(URI("http://example.com/resourcedump#{i + 1}.xml"))
|
35
|
+
md = sitemap.metadata
|
36
|
+
expect(md.at_time).to be_time(expected_times[i])
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '#save_to_xml' do
|
42
|
+
it 'can round-trip to XML' do
|
43
|
+
data = File.read('spec/data/resourcedump-index.xml')
|
44
|
+
list = ResourceDumpIndex.load_from_xml(XML.element(data), mapping: :sitemapindex)
|
45
|
+
xml = list.save_to_xml
|
46
|
+
expect(xml).to be_xml(data)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Moles
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mime-types
|
@@ -161,6 +161,7 @@ files:
|
|
161
161
|
- ".rubocop.yml"
|
162
162
|
- ".ruby-version"
|
163
163
|
- ".travis.yml"
|
164
|
+
- CHANGES.md
|
164
165
|
- Gemfile
|
165
166
|
- LICENSE.md
|
166
167
|
- README.md
|
@@ -169,6 +170,7 @@ files:
|
|
169
170
|
- lib/resync.rb
|
170
171
|
- lib/resync/capability_list.rb
|
171
172
|
- lib/resync/change_dump.rb
|
173
|
+
- lib/resync/change_dump_index.rb
|
172
174
|
- lib/resync/change_dump_manifest.rb
|
173
175
|
- lib/resync/change_list.rb
|
174
176
|
- lib/resync/change_list_index.rb
|
@@ -176,6 +178,7 @@ files:
|
|
176
178
|
- lib/resync/metadata.rb
|
177
179
|
- lib/resync/resource.rb
|
178
180
|
- lib/resync/resource_dump.rb
|
181
|
+
- lib/resync/resource_dump_index.rb
|
179
182
|
- lib/resync/resource_dump_manifest.rb
|
180
183
|
- lib/resync/resource_list.rb
|
181
184
|
- lib/resync/resource_list_index.rb
|
@@ -193,6 +196,7 @@ files:
|
|
193
196
|
- lib/resync/xml_parser.rb
|
194
197
|
- resync.gemspec
|
195
198
|
- spec/acceptance/xml_parser_spec.rb
|
199
|
+
- spec/data/changedump-index.xml
|
196
200
|
- spec/data/examples/README.md
|
197
201
|
- spec/data/examples/example-1.xml
|
198
202
|
- spec/data/examples/example-12.xml
|
@@ -224,6 +228,7 @@ files:
|
|
224
228
|
- spec/data/examples/example-6.xml
|
225
229
|
- spec/data/examples/example-7.xml
|
226
230
|
- spec/data/examples/example-8.xml
|
231
|
+
- spec/data/resourcedump-index.xml
|
227
232
|
- spec/data/resourcesync.xsd
|
228
233
|
- spec/data/siteindex.xsd
|
229
234
|
- spec/data/sitemap.xsd
|
@@ -231,12 +236,14 @@ files:
|
|
231
236
|
- spec/spec_helper.rb
|
232
237
|
- spec/todo.rb
|
233
238
|
- spec/unit/resync/capability_list_spec.rb
|
239
|
+
- spec/unit/resync/change_dump_index_spec.rb
|
234
240
|
- spec/unit/resync/change_dump_manifest_spec.rb
|
235
241
|
- spec/unit/resync/change_dump_spec.rb
|
236
242
|
- spec/unit/resync/change_list_index_spec.rb
|
237
243
|
- spec/unit/resync/change_list_spec.rb
|
238
244
|
- spec/unit/resync/link_spec.rb
|
239
245
|
- spec/unit/resync/metadata_spec.rb
|
246
|
+
- spec/unit/resync/resource_dump_index_spec.rb
|
240
247
|
- spec/unit/resync/resource_dump_manifest_spec.rb
|
241
248
|
- spec/unit/resync/resource_dump_spec.rb
|
242
249
|
- spec/unit/resync/resource_list_index_spec.rb
|
@@ -278,6 +285,7 @@ specification_version: 4
|
|
278
285
|
summary: Utility library for ResourceSync
|
279
286
|
test_files:
|
280
287
|
- spec/acceptance/xml_parser_spec.rb
|
288
|
+
- spec/data/changedump-index.xml
|
281
289
|
- spec/data/examples/README.md
|
282
290
|
- spec/data/examples/example-1.xml
|
283
291
|
- spec/data/examples/example-12.xml
|
@@ -309,6 +317,7 @@ test_files:
|
|
309
317
|
- spec/data/examples/example-6.xml
|
310
318
|
- spec/data/examples/example-7.xml
|
311
319
|
- spec/data/examples/example-8.xml
|
320
|
+
- spec/data/resourcedump-index.xml
|
312
321
|
- spec/data/resourcesync.xsd
|
313
322
|
- spec/data/siteindex.xsd
|
314
323
|
- spec/data/sitemap.xsd
|
@@ -316,12 +325,14 @@ test_files:
|
|
316
325
|
- spec/spec_helper.rb
|
317
326
|
- spec/todo.rb
|
318
327
|
- spec/unit/resync/capability_list_spec.rb
|
328
|
+
- spec/unit/resync/change_dump_index_spec.rb
|
319
329
|
- spec/unit/resync/change_dump_manifest_spec.rb
|
320
330
|
- spec/unit/resync/change_dump_spec.rb
|
321
331
|
- spec/unit/resync/change_list_index_spec.rb
|
322
332
|
- spec/unit/resync/change_list_spec.rb
|
323
333
|
- spec/unit/resync/link_spec.rb
|
324
334
|
- spec/unit/resync/metadata_spec.rb
|
335
|
+
- spec/unit/resync/resource_dump_index_spec.rb
|
325
336
|
- spec/unit/resync/resource_dump_manifest_spec.rb
|
326
337
|
- spec/unit/resync/resource_dump_spec.rb
|
327
338
|
- spec/unit/resync/resource_list_index_spec.rb
|