resync 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d976bb155b49ce7339df955bfa20d30392d22b5e
4
- data.tar.gz: 3c3fdaebce38202912ce7d56805a429578f77b1d
3
+ metadata.gz: 1ac849438f247e3776ef21a93c6466e83e3bb45f
4
+ data.tar.gz: 184a1d96dd47fd6bc0c1b413d7cbc318411e5e3c
5
5
  SHA512:
6
- metadata.gz: d567ccc2977f4c46ea357765bb46b72d40a8ee20673c2fdd9f76e66f3cc1e5ca18c16f7fe9cbeb51788121b1f33b70bec6e0ba7b71fcf09eae431ee4a3875afa
7
- data.tar.gz: f97193935fc1dc19de8e715a9502e6afc2cd150528eb71a471acb41be24bd7a95ab8e139f9245026d1ee45607e79aeb05ce231a6902599261994659ca14ed3ae
6
+ metadata.gz: 1cdd7b2571b0caaea6aaeff82212072edbfc5f3b020d4c924c0cec227fa8f2c0ab8c1c1f1ee88171f8d2ca5c1ce0379c01db56ae40013db9375354c3a6533a41
7
+ data.tar.gz: ac5c5df6d0c6f3c02f0dbde7c6a4c79b9b0aeb340a46a33cf3e01525f8383805eb849db0a0e8bda7a72fa11d7c6b46638a9dac00f16357ba6d7f92a6741e7f3d
data/CHANGES.md ADDED
@@ -0,0 +1,8 @@
1
+ ## 0.1.1
2
+
3
+ - Add support for [Change Dump Indices](http://www.openarchives.org/rs/1.0/resourcesync#ChangeDumpIndex)
4
+ - Add support for [Resource Dump Indices](http://www.openarchives.org/rs/1.0/resourcesync#ResourceDumpIndex)
5
+
6
+ ## 0.1.0
7
+
8
+ - Initial release
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='up', href='http://example.com/my-dataset/my-capability-list.xml') ],
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 = 'changelist',
35
- from_time = Time.utc(2013, 1, 3)
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
- ## Limitations
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
- ### Structural inconvenience and unnecessary repetition
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
- ### Logical relationships between elements
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
- ### Time attribute requirements
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
- ### Value restrictions from XML schemata
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
- ### Element order
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
- ### Namespace weirdness
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>`.
@@ -64,6 +64,8 @@ module Resync
64
64
  # ------------------------------
65
65
  # Conversions
66
66
 
67
+ private
68
+
67
69
  def to_capability_map(resources)
68
70
  capabilities = {}
69
71
  (resources || []).each do |resource|
@@ -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
@@ -54,6 +54,7 @@ module Resync
54
54
  # ------------------------------------------------------------
55
55
  # Custom getters
56
56
 
57
+ # @return [String] the capability provided by this document
57
58
  def capability
58
59
  @metadata.capability
59
60
  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
@@ -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 +ChangeList+, +ChangeDump+, etc.
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
 
@@ -3,6 +3,7 @@ require 'ruby-enum'
3
3
  module Resync
4
4
  module Types
5
5
  # The frequency of changes to a resource.
6
+ # Values: +ALWAYS+, +HOURLY+, +DAILY+, +WEEKLY+, +MONTHLY+, +YEARLY+, +NEVER+
6
7
  class ChangeFrequency
7
8
  include Ruby::Enum
8
9
 
@@ -1,4 +1,4 @@
1
1
  module Resync
2
2
  # The version of this gem.
3
- VERSION = '0.1.0'
3
+ VERSION = '0.1.1'
4
4
  end
@@ -17,7 +17,9 @@ module Resync
17
17
  ],
18
18
  sitemapindex: [
19
19
  ChangeListIndex,
20
- ResourceListIndex
20
+ ResourceListIndex,
21
+ ChangeDumpIndex,
22
+ ResourceDumpIndex
21
23
  ]
22
24
  }
23
25
  private_constant :ROOT_TYPES
@@ -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.0
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-01 00:00:00.000000000 Z
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