sitemap_generator 4.1.0 → 4.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ./
3
3
  specs:
4
- sitemap_generator (4.1.0)
4
+ sitemap_generator (4.1.1)
5
5
  builder
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -9,7 +9,7 @@ Sitemaps adhere to the [Sitemap 0.9 protocol][sitemap_protocol] specification.
9
9
  * Framework agnostic
10
10
  * Supports [News sitemaps][sitemap_news], [Video sitemaps][sitemap_video], [Image sitemaps][sitemap_images], [Geo sitemaps][sitemap_geo], [Mobile sitemaps][sitemap_mobile], [PageMap sitemaps][sitemap_pagemap] and [Alternate Links][alternate_links]
11
11
  * Supports read-only filesystems like Heroku via uploading to a remote host like Amazon S3
12
- * Compatible with Rails 2 & 3 and tested with Ruby REE, 1.9.2 & 1.9.3
12
+ * Compatible with Rails 2, 3 & 4 and tested with Ruby REE, 1.9.2 & 1.9.3
13
13
  * Adheres to the [Sitemap 0.9 protocol][sitemap_protocol]
14
14
  * Handles millions of links
15
15
  * Automatically compresses your sitemaps
@@ -20,6 +20,8 @@ Sitemaps adhere to the [Sitemap 0.9 protocol][sitemap_protocol] specification.
20
20
 
21
21
  ### Show Me
22
22
 
23
+ This is a simple standalone example. For Rails installation see the Install section.
24
+
23
25
  Install:
24
26
 
25
27
  ```
@@ -37,7 +39,7 @@ SitemapGenerator::Sitemap.create do
37
39
  add '/home', :changefreq => 'daily', :priority => 0.9
38
40
  add '/contact_us', :changefreq => 'weekly'
39
41
  end
40
- SitemapGenerator::Sitemap.ping_search_engines # called for you when you use the rake task
42
+ SitemapGenerator::Sitemap.ping_search_engines # Not needed if you use the rake tasks
41
43
  ```
42
44
 
43
45
  Run it:
@@ -103,7 +105,8 @@ That's it! Welcome to the future!
103
105
 
104
106
  ## Changelog
105
107
 
106
- * v4.1.0: [PageMap sitemap][using_pagemaps] support.
108
+ * v4.1.1: Support setting the S3 region. Fixed bug where incorrect URL was being used in the ping to search engines - only affected sites with a single sitemap file and no index file. Output the URL being pinged in the verbose output. Test in Rails 4.
109
+ * v4.1.0: [PageMap sitemap][using_pagemaps] support. Tested with Rails 4 pre-release.
107
110
  * v4.0.1: Add a post install message regarding the naming convention change.
108
111
  * **v4.0: NEW, NON-BACKWARDS COMPATIBLE CHANGES.** See above for more info. `create_index` defaults to `:auto`. Define `SitemapGenerator::SimpleNamer` class for simpler custom namers compatible with the new naming conventions. Deprecate `sitemaps_namer`, `sitemap_index_namer` and their respective namer classes. It's more just that their usage is discouraged. Support `nofollow` option on alternate links. Fix formatting of `publication_date` in News sitemaps.
109
112
  * v3.4: Support [alternate links][alternate_links] for urls; Support configurable options in the `SitemapGenerator::S3Adapter`
@@ -165,6 +168,8 @@ The Rake tasks expect your sitemap to be at `config/sitemap.rb` but if you need
165
168
 
166
169
  ### Rails
167
170
 
171
+ SitemapGenerator works will all versions of Rails and has been tested in Rails 2, 3 and 4.
172
+
168
173
  Add the gem to your `Gemfile`:
169
174
 
170
175
  ```ruby
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.1.0
1
+ 4.1.1
@@ -8,6 +8,7 @@ module SitemapGenerator
8
8
  @aws_secret_access_key = opts[:aws_secret_access_key] || ENV['AWS_SECRET_ACCESS_KEY']
9
9
  @fog_provider = opts[:fog_provider] || ENV['FOG_PROVIDER']
10
10
  @fog_directory = opts[:fog_directory] || ENV['FOG_DIRECTORY']
11
+ @fog_region = opts[:fog_region] || ENV['FOG_REGION']
11
12
  end
12
13
 
13
14
  # Call with a SitemapLocation and string data
@@ -19,6 +20,7 @@ module SitemapGenerator
19
20
  :aws_secret_access_key => @aws_secret_access_key,
20
21
  :provider => @fog_provider,
21
22
  }
23
+ credentials[:region] = @fog_region if @fog_region
22
24
 
23
25
  storage = Fog::Storage.new(credentials)
24
26
  directory = storage.directories.get(@fog_directory)
@@ -27,6 +27,9 @@ module SitemapGenerator
27
27
  @reserved_name = nil # holds the name reserved from the namer
28
28
  @frozen = false # rather than actually freeze, use this boolean
29
29
  @first_sitemap = nil # reference to the first thing added to this index
30
+ # Store the URL of the first sitemap added because if create_index is
31
+ # false this is the "index" URL
32
+ @first_sitemap_url = nil
30
33
  end
31
34
 
32
35
  # Finalize sitemaps as they are added to the index.
@@ -123,6 +126,18 @@ module SitemapGenerator
123
126
  @create_index || @location.create_index == true || @location.create_index == :auto && @link_count > 1
124
127
  end
125
128
 
129
+ # Return the index file URL. If create_index is true, this is the URL
130
+ # of the actual index file. If create_index is false, this is the URL
131
+ # of the first sitemap that was written out. Only call this method
132
+ # *after* the files have been finalized.
133
+ def index_url
134
+ if create_index? || !@first_sitemap_url
135
+ @location.url
136
+ else
137
+ @first_sitemap_url
138
+ end
139
+ end
140
+
126
141
  protected
127
142
 
128
143
  # Make sure the first sitemap has been written out and added to the index
@@ -131,6 +146,9 @@ module SitemapGenerator
131
146
  @first_sitemap.link.write unless @first_sitemap.link.written?
132
147
  super_add(SitemapGenerator::Builder::SitemapIndexUrl.new(@first_sitemap.link, @first_sitemap.options))
133
148
  @link_count -= 1 # we already counted it, don't count it twice
149
+ # Store the URL because if create_index is false, this is the
150
+ # "index" URL
151
+ @first_sitemap_url = @first_sitemap.link.location.url
134
152
  @first_sitemap = nil
135
153
  end
136
154
  end
@@ -281,9 +281,11 @@ module SitemapGenerator
281
281
  require 'timeout'
282
282
 
283
283
  engines = args.last.is_a?(Hash) ? args.pop : {}
284
- index_url = CGI.escape(args.shift || sitemap_index_url)
284
+ unescaped_url = args.shift || sitemap_index_url
285
+ index_url = CGI.escape(unescaped_url)
285
286
 
286
287
  output("\n")
288
+ output("Pinging with URL #{unescaped_url}:")
287
289
  search_engines.merge(engines).each do |engine, link|
288
290
  link = link % index_url
289
291
  name = Utilities.titleize(engine.to_s)
@@ -291,7 +293,7 @@ module SitemapGenerator
291
293
  Timeout::timeout(10) {
292
294
  open(link)
293
295
  }
294
- output("Successful ping of #{name}")
296
+ output(" Successful ping of #{name}")
295
297
  rescue Timeout::Error, StandardError => e
296
298
  output("Ping failed for #{name}: #{e.inspect} (URL #{link})")
297
299
  end
@@ -319,9 +321,14 @@ module SitemapGenerator
319
321
  @sitemap_index ||= SitemapGenerator::Builder::SitemapIndexFile.new(sitemap_index_location)
320
322
  end
321
323
 
322
- # Return the full url to the sitemap index file.
324
+ # Return the full url to the sitemap index file. When `create_index` is `false`
325
+ # the first sitemap is technically the index, so this will be its URL. It's important
326
+ # to use this method to get the index url because `sitemap_index.location.url` will
327
+ # not be correct in such situations.
328
+ #
329
+ # KJV: This is somewhat confusing.
323
330
  def sitemap_index_url
324
- sitemap_index.location.url
331
+ sitemap_index.index_url
325
332
  end
326
333
 
327
334
  # All done. Write out remaining files.
@@ -98,4 +98,27 @@ describe 'SitemapGenerator::Builder::SitemapIndexFile' do
98
98
  end
99
99
  end
100
100
  end
101
+
102
+ describe "index_url" do
103
+ it "when not creating an index, should be the first sitemap url" do
104
+ index.instance_variable_set(:@create_index, false)
105
+ index.instance_variable_set(:@first_sitemap_url, 'http://test.com/index.xml')
106
+ index.create_index?.should be_false
107
+ index.index_url.should == 'http://test.com/index.xml'
108
+ end
109
+
110
+ it "if there's no first sitemap url, should default to the index location url" do
111
+ index.instance_variable_set(:@create_index, false)
112
+ index.instance_variable_set(:@first_sitemap_url, nil)
113
+ index.create_index?.should be_false
114
+ index.index_url.should == index.location.url
115
+ index.index_url.should == 'http://example.com/test/sitemap.xml.gz'
116
+ end
117
+
118
+ it "when creating an index, should be the index location url" do
119
+ index.instance_variable_set(:@create_index, true)
120
+ index.index_url.should == index.location.url
121
+ index.index_url.should == 'http://example.com/test/sitemap.xml.gz'
122
+ end
123
+ end
101
124
  end
@@ -152,7 +152,7 @@ describe SitemapGenerator::LinkSet do
152
152
  :search_engines => { :google => 'http://google.com/?url=%s' })
153
153
  index_url = ls.sitemap_index_url
154
154
  ls.expects(:open).with("http://google.com/?url=#{CGI.escape(index_url)}")
155
- ls.ping_search_engines(index_url)
155
+ ls.ping_search_engines
156
156
  end
157
157
 
158
158
  it "should include the given search engines" do
@@ -777,6 +777,9 @@ describe SitemapGenerator::LinkSet do
777
777
  ls.sitemap_index.empty?.should be_false
778
778
  ls.send(:finalize_sitemap_index!)
779
779
  ls.sitemap_index.written?.should be_true
780
+
781
+ # Test that the index url is reported correctly
782
+ ls.sitemap_index.index_url.should == 'http://example.com/sitemap.xml.gz'
780
783
  end
781
784
 
782
785
  it "should not write the index when only one sitemap is added (considered internal usage)" do
@@ -784,6 +787,9 @@ describe SitemapGenerator::LinkSet do
784
787
  ls.sitemap_index.empty?.should be_false
785
788
  ls.send(:finalize_sitemap_index!)
786
789
  ls.sitemap_index.written?.should be_false
790
+
791
+ # Test that the index url is reported correctly
792
+ ls.sitemap_index.index_url.should == sitemap.location.url
787
793
  end
788
794
 
789
795
  it "should write the index when more than one sitemap is added (considered internal usage)" do
@@ -791,6 +797,10 @@ describe SitemapGenerator::LinkSet do
791
797
  ls.sitemap_index.add sitemap.new
792
798
  ls.send(:finalize_sitemap_index!)
793
799
  ls.sitemap_index.written?.should be_true
800
+
801
+ # Test that the index url is reported correctly
802
+ ls.sitemap_index.index_url.should == ls.sitemap_index.location.url
803
+ ls.sitemap_index.index_url.should == 'http://example.com/sitemap.xml.gz'
794
804
  end
795
805
 
796
806
  it "should write the index when it has more than one link" do
@@ -798,21 +808,24 @@ describe SitemapGenerator::LinkSet do
798
808
  ls.sitemap_index.add '/test2'
799
809
  ls.send(:finalize_sitemap_index!)
800
810
  ls.sitemap_index.written?.should be_true
811
+
812
+ # Test that the index url is reported correctly
813
+ ls.sitemap_index.index_url.should == 'http://example.com/sitemap.xml.gz'
801
814
  end
802
815
  end
803
816
  end
804
-
817
+
805
818
  describe "when sitemap empty" do
806
819
  before :each do
807
820
  ls.include_root = false
808
821
  end
809
-
822
+
810
823
  it "should not be written" do
811
824
  ls.sitemap.empty?.should be_true
812
825
  ls.expects(:add_to_index).never
813
826
  ls.send(:finalize_sitemap!)
814
827
  end
815
-
828
+
816
829
  it "should be written" do
817
830
  ls.sitemap.add '/test'
818
831
  ls.sitemap.empty?.should be_false
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'cgi'
2
3
 
3
4
  class Holder
4
5
  class << self
@@ -351,32 +352,51 @@ describe "SitemapGenerator" do
351
352
  end
352
353
 
353
354
  describe "when true" do
354
- let(:ls) { SitemapGenerator::LinkSet.new(:include_root => false, :default_host => 'http://example.com', :create_index => true) }
355
+ let(:ls) {
356
+ SitemapGenerator::LinkSet.new(
357
+ :include_root => false,
358
+ :default_host => 'http://example.com',
359
+ :create_index => true)
360
+ }
355
361
 
356
362
  it "should always create index" do
357
363
  with_max_links(1) do
358
364
  ls.create { add('/one') }
359
365
  end
366
+ ls.sitemap_index.link_count.should == 1 # one sitemap
360
367
  file_should_exist(rails_path('public/sitemap.xml.gz'))
361
368
  file_should_exist(rails_path('public/sitemap1.xml.gz'))
362
369
  file_should_not_exist(rails_path('public/sitemap2.xml.gz'))
363
370
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'siteindex'
364
371
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap1.xml.gz'), 'sitemap'
372
+
373
+ # Test that the index url is reported correctly
374
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
375
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
376
+ ls.ping_search_engines
365
377
  end
366
378
 
367
379
  it "should always create index" do
368
380
  with_max_links(1) do
369
381
  ls.create { add('/one'); add('/two') }
370
382
  end
383
+ ls.sitemap_index.link_count.should == 2 # two sitemaps
371
384
  file_should_exist(rails_path('public/sitemap.xml.gz'))
372
385
  file_should_exist(rails_path('public/sitemap1.xml.gz'))
373
386
  file_should_exist(rails_path('public/sitemap2.xml.gz'))
374
387
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'siteindex'
375
388
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap1.xml.gz'), 'sitemap'
376
389
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap2.xml.gz'), 'sitemap'
390
+
391
+ # Test that the index url is reported correctly
392
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
393
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
394
+ ls.ping_search_engines
377
395
  end
378
396
  end
379
397
 
398
+ # Technically when there's no index, the first sitemap is the "index"
399
+ # regardless of how many sitemaps were created, or if create_index is false.
380
400
  describe "when false" do
381
401
  let(:ls) { SitemapGenerator::LinkSet.new(:include_root => false, :default_host => 'http://example.com', :create_index => false) }
382
402
 
@@ -384,20 +404,32 @@ describe "SitemapGenerator" do
384
404
  with_max_links(1) do
385
405
  ls.create { add('/one') }
386
406
  end
407
+ ls.sitemap_index.link_count.should == 1 # one sitemap
387
408
  file_should_exist(rails_path('public/sitemap.xml.gz'))
388
409
  file_should_not_exist(rails_path('public/sitemap1.xml.gz'))
389
410
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'sitemap'
411
+
412
+ # Test that the index url is reported correctly
413
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
414
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
415
+ ls.ping_search_engines
390
416
  end
391
417
 
392
418
  it "should never create index" do
393
419
  with_max_links(1) do
394
420
  ls.create { add('/one'); add('/two') }
395
421
  end
422
+ ls.sitemap_index.link_count.should == 2 # two sitemaps
396
423
  file_should_exist(rails_path('public/sitemap.xml.gz'))
397
424
  file_should_exist(rails_path('public/sitemap1.xml.gz'))
398
425
  file_should_not_exist(rails_path('public/sitemap2.xml.gz'))
399
426
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'sitemap'
400
427
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap1.xml.gz'), 'sitemap'
428
+
429
+ # Test that the index url is reported correctly
430
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
431
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
432
+ ls.ping_search_engines
401
433
  end
402
434
  end
403
435
 
@@ -408,15 +440,22 @@ describe "SitemapGenerator" do
408
440
  with_max_links(1) do
409
441
  ls.create { add('/one') }
410
442
  end
443
+ ls.sitemap_index.link_count.should == 1 # one sitemap
411
444
  file_should_exist(rails_path('public/sitemap.xml.gz'))
412
445
  file_should_not_exist(rails_path('public/sitemap1.xml.gz'))
413
446
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'sitemap'
447
+
448
+ # Test that the index url is reported correctly
449
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
450
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
451
+ ls.ping_search_engines
414
452
  end
415
453
 
416
454
  it "should create index if more than one sitemap file" do
417
455
  with_max_links(1) do
418
456
  ls.create { add('/one'); add('/two') }
419
457
  end
458
+ ls.sitemap_index.link_count.should == 2 # two sitemaps
420
459
  file_should_exist(rails_path('public/sitemap.xml.gz'))
421
460
  file_should_exist(rails_path('public/sitemap1.xml.gz'))
422
461
  file_should_exist(rails_path('public/sitemap2.xml.gz'))
@@ -424,6 +463,11 @@ describe "SitemapGenerator" do
424
463
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'siteindex'
425
464
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap1.xml.gz'), 'sitemap'
426
465
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap2.xml.gz'), 'sitemap'
466
+
467
+ # Test that the index url is reported correctly
468
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
469
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
470
+ ls.ping_search_engines
427
471
  end
428
472
 
429
473
  it "should create index if more than one group" do
@@ -433,12 +477,18 @@ describe "SitemapGenerator" do
433
477
  group(:filename => :group2) { add('/two') };
434
478
  end
435
479
  end
480
+ ls.sitemap_index.link_count.should == 2 # two sitemaps
436
481
  file_should_exist(rails_path('public/sitemap.xml.gz'))
437
482
  file_should_exist(rails_path('public/group1.xml.gz'))
438
483
  file_should_exist(rails_path('public/group2.xml.gz'))
439
484
  gzipped_xml_file_should_validate_against_schema rails_path('public/sitemap.xml.gz'), 'siteindex'
440
485
  gzipped_xml_file_should_validate_against_schema rails_path('public/group1.xml.gz'), 'sitemap'
441
486
  gzipped_xml_file_should_validate_against_schema rails_path('public/group2.xml.gz'), 'sitemap'
487
+
488
+ # Test that the index url is reported correctly
489
+ ls.search_engines = { :google => 'http://google.com/?url=%s' }
490
+ ls.expects(:open).with("http://google.com/?url=#{CGI.escape('http://example.com/sitemap.xml.gz')}")
491
+ ls.ping_search_engines
442
492
  end
443
493
  end
444
494
  end
metadata CHANGED
@@ -1,20 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitemap_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Karl Varga
9
- - Adam Salter
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-06-03 00:00:00.000000000Z
12
+ date: 2013-07-13 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: mocha
17
- requirement: &70338921097240 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ! '>='
@@ -22,10 +21,15 @@ dependencies:
22
21
  version: '0'
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *70338921097240
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
26
30
  - !ruby/object:Gem::Dependency
27
31
  name: nokogiri
28
- requirement: &70338921096640 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
29
33
  none: false
30
34
  requirements:
31
35
  - - ! '>='
@@ -33,10 +37,15 @@ dependencies:
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
- version_requirements: *70338921096640
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
37
46
  - !ruby/object:Gem::Dependency
38
47
  name: rspec
39
- requirement: &70338921096180 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
40
49
  none: false
41
50
  requirements:
42
51
  - - ! '>='
@@ -44,10 +53,15 @@ dependencies:
44
53
  version: '0'
45
54
  type: :development
46
55
  prerelease: false
47
- version_requirements: *70338921096180
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
48
62
  - !ruby/object:Gem::Dependency
49
63
  name: builder
50
- requirement: &70338921095700 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
51
65
  none: false
52
66
  requirements:
53
67
  - - ! '>='
@@ -55,10 +69,16 @@ dependencies:
55
69
  version: '0'
56
70
  type: :runtime
57
71
  prerelease: false
58
- version_requirements: *70338921095700
59
- description: SitemapGenerator is an XML Sitemap generator written in Ruby with automatic
60
- Rails integration. It supports Video, News, Image and Geo sitemaps and includes
61
- Rake tasks for managing your sitemaps.
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: SitemapGenerator is a framework-agnostic XML Sitemap generator written
79
+ in Ruby with automatic Rails integration. It supports Video, News, Image, Geo,
80
+ Mobile, PageMap and Alternate Links sitemap extensions and includes Rake tasks for
81
+ managing your sitemaps, as well as many other great features.
62
82
  email: kjvarga@gmail.com
63
83
  executables: []
64
84
  extensions: []
@@ -163,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
183
  version: '0'
164
184
  segments:
165
185
  - 0
166
- hash: -1019294574066130331
186
+ hash: -880166997178231543
167
187
  required_rubygems_version: !ruby/object:Gem::Requirement
168
188
  none: false
169
189
  requirements:
@@ -172,10 +192,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
192
  version: '0'
173
193
  segments:
174
194
  - 0
175
- hash: -1019294574066130331
195
+ hash: -880166997178231543
176
196
  requirements: []
177
197
  rubyforge_project:
178
- rubygems_version: 1.8.10
198
+ rubygems_version: 1.8.25
179
199
  signing_key:
180
200
  specification_version: 3
181
201
  summary: Easily generate XML Sitemaps