sitemap_generator 6.2.1 → 6.3.0

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
  SHA256:
3
- metadata.gz: 6619733ac6e91a00c5a7b194f82f76b68de2c0521dda3c554d28c8315c0e7c29
4
- data.tar.gz: 0d73d0acac5b95961d5799a766a5c6af6fac85173420807db5cbc9a630f1841d
3
+ metadata.gz: bd65e97e0a574eb1d124988e20c38312968548bf8ef8d381e648c54d6766d049
4
+ data.tar.gz: b9cbf014555cbdfb293c6e780a3e9ab4349db02f8fddbcddc28ab8c743f24657
5
5
  SHA512:
6
- metadata.gz: 637cc70ee0036b4e9d228abe34abe4b220db7a6647c3e26b1b98e5df20e59d0e9c24f5f8596ef941afb5ea252081ce048cc74e95b7b52a69fc4c5e48774e3c22
7
- data.tar.gz: 784183a6a1a1735078734f68aab8e62702b62e474c7602c9360bf2021aeff6492c03405b14a4800d42490bd0b2319c00814541252a3a8f6d4e70becfd87ee6d0
6
+ metadata.gz: 1ec50b44415503a1d3bce5859cf6b397592212c19827f6dc45019df221f3c08131a04f7e89db98d21172982d6ca212c901638c30882c9b4b08adc107fff67d95
7
+ data.tar.gz: 3afc709b82309f5c052fb00e8c467554c44cc974d7dc122ae45938d9b80c574236639c74b85058a1251c7fc5a2fd2fe827d8478619612f8c6ee0a5ef514d780f
data/CHANGES.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### 6.3.0
2
+
3
+ * Remove Bing's deprecated sitemap submission [#400](https://github.com/kjvarga/sitemap_generator/pull/400).
4
+ * `SitemapGenerator::AwsSdkAdapter`: Support configuring ACL and caching on the uploaded files [#409](https://github.com/kjvarga/sitemap_generator/pull/409).
5
+ * `SitemapGenerator::GoogleStorageAdapter`: Support configuring ACL on the uploaded files [#410](https://github.com/kjvarga/sitemap_generator/pull/410).
6
+ * Fix CircleCI specs for Ruby 3 [#407](https://github.com/kjvarga/sitemap_generator/pull/407).
7
+
1
8
  ### 6.2.1
2
9
 
3
10
  * Bugfix: Improve handling of deprecated options in `AwsSdkAdapter`. Fixes bug where `:region` was being set to `nil`. [#390](https://github.com/kjvarga/sitemap_generator/pull/390).
data/README.md CHANGED
@@ -15,7 +15,7 @@ Sitemaps adhere to the [Sitemap 0.9 protocol][sitemap_protocol] specification.
15
15
  * Adheres to the [Sitemap 0.9 protocol][sitemap_protocol]
16
16
  * Handles millions of links
17
17
  * Customizable sitemap compression
18
- * Notifies search engines (Google, Bing) of new sitemaps
18
+ * Notifies search engines (Google) of new sitemaps
19
19
  * Ensures your old sitemaps stay in place if the new sitemap fails to generate
20
20
  * Gives you complete control over your sitemap contents and naming scheme
21
21
  * Intelligent sitemap indexing
@@ -58,7 +58,6 @@ In /Users/karl/projects/sitemap_generator-test/public/
58
58
  Sitemap stats: 3 links / 1 sitemaps / 0m00s
59
59
 
60
60
  Successful ping of Google
61
- Successful ping of Bing
62
61
  ```
63
62
 
64
63
  ## Contents
@@ -205,7 +204,7 @@ SitemapGenerator.verbose = false
205
204
 
206
205
  ### Pinging Search Engines
207
206
 
208
- Using `rake sitemap:refresh` will notify Google and Bing to let them know that a new sitemap
207
+ Using `rake sitemap:refresh` will notify Google to let them know that a new sitemap
209
208
  is available. To generate new sitemaps without notifying search engines, use `rake sitemap:refresh:no_ping`.
210
209
 
211
210
  If you want to customize the hash of search engines you can access it at:
@@ -387,6 +386,8 @@ name but capitalized, e.g. `FOG_PATH_STYLE`.
387
386
 
388
387
  ```ruby
389
388
  SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new('s3_bucket',
389
+ acl: 'public-read', # Optional. This is the default.
390
+ cache_control: 'private, max-age=0, no-cache', # Optional. This is the default.
390
391
  access_key_id: 'AKIAI3SW5CRAZBL4WSTA',
391
392
  secret_access_key: 'asdfadsfdsafsadf',
392
393
  region: 'us-east-1',
@@ -394,11 +395,9 @@ name but capitalized, e.g. `FOG_PATH_STYLE`.
394
395
  )
395
396
  ```
396
397
 
397
- Where the first argument is the S3 bucket name, and the rest are keyword argument options which
398
- are passed directly to the AWS client.
398
+ Where the first argument is the S3 bucket name, and the rest are keyword argument options. Options `:acl` and `:cache_control` configure access and caching of the uploaded files; all other options are passed directly to the AWS client.
399
399
 
400
- See https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/S3/Client.html#initialize-instance_method
401
- for a full list of supported options.
400
+ See [the `SitemapGenerator::AwsSdkAdapter` docs](https://github.com/kjvarga/sitemap_generator/blob/master/lib/sitemap_generator/adapters/aws_sdk_adapter.rb), and [https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/S3/Client.html#initialize-instance_method](https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/S3/Client.html#initialize-instance_method) for the full list of supported options.
402
401
 
403
402
  ##### `SitemapGenerator::WaveAdapter`
404
403
 
@@ -420,9 +419,10 @@ name but capitalized, e.g. `FOG_PATH_STYLE`.
420
419
 
421
420
  ```ruby
422
421
  SitemapGenerator::Sitemap.adapter = SitemapGenerator::GoogleStorageAdapter.new(
422
+ acl: 'public', # Optional. This is the default value.
423
+ bucket: 'name_of_bucket'
423
424
  credentials: 'path/to/keyfile.json',
424
425
  project_id: 'google_account_project_id',
425
- bucket: 'name_of_bucket'
426
426
  )
427
427
  ```
428
428
  Also, inline with Google Authentication options, it can also pick credentials from environment variables. All [supported environment variables][google_cloud_storage_authentication] can be used, for example: `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_CREDENTIALS`. An example of using this adapter with the environment variables is:
@@ -433,7 +433,7 @@ name but capitalized, e.g. `FOG_PATH_STYLE`.
433
433
  )
434
434
  ```
435
435
 
436
- All options other than the `:bucket` option are passed to the `Google::Cloud::Storage.new` initializer giving you maximum configurability. See the [Google Cloud Storage initializer][google_cloud_storage_initializer] for supported options.
436
+ All options other than the `:bucket` and `:acl` options are passed to the `Google::Cloud::Storage.new` initializer giving you maximum configurability. See the [Google Cloud Storage initializer][google_cloud_storage_initializer] for supported options.
437
437
 
438
438
  #### An Example of Using an Adapter
439
439
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.2.1
1
+ 6.3.0
@@ -18,15 +18,19 @@ module SitemapGenerator
18
18
  # Options:
19
19
  # **Deprecated, use :endpoint instead** :aws_endpoint [String] The object storage endpoint,
20
20
  # if not AWS, e.g. 'https://sfo2.digitaloceanspaces.com'
21
- # **Deprecated, use :access_key_id instead** :access_key_id [String] Your AWS access key id
21
+ # **Deprecated, use :access_key_id instead** :aws_access_key_id [String] Your AWS access key id
22
22
  # **Deprecated, use :secret_access_key instead** :aws_secret_access_key [String] Your AWS secret access key
23
23
  # **Deprecated, use :region instead** :aws_region [String] Your AWS region
24
+ # :acl [String] The ACL to apply to the uploaded files. Defaults to 'public-read'.
25
+ # :cache_control [String] The cache control headder to apply to the uploaded files. Defaults to 'private, max-age=0, no-cache'.
24
26
  #
25
27
  # All other options you provide are passed directly to the AWS client.
26
28
  # See https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/S3/Client.html#initialize-instance_method
27
29
  # for a full list of supported options.
28
- def initialize(bucket, aws_access_key_id: nil, aws_secret_access_key: nil, aws_region: nil, aws_endpoint: nil, **options)
30
+ def initialize(bucket, aws_access_key_id: nil, aws_secret_access_key: nil, aws_region: nil, aws_endpoint: nil, acl: 'public-read', cache_control: 'private, max-age=0, no-cache', **options)
29
31
  @bucket = bucket
32
+ @acl = acl
33
+ @cache_control = cache_control
30
34
  @options = options
31
35
  set_option_unless_set(:access_key_id, aws_access_key_id)
32
36
  set_option_unless_set(:secret_access_key, aws_secret_access_key)
@@ -39,11 +43,11 @@ module SitemapGenerator
39
43
  def write(location, raw_data)
40
44
  SitemapGenerator::FileAdapter.new.write(location, raw_data)
41
45
  s3_object = s3_resource.bucket(@bucket).object(location.path_in_public)
42
- s3_object.upload_file(location.path,
43
- acl: 'public-read',
44
- cache_control: 'private, max-age=0, no-cache',
46
+ s3_object.upload_file(location.path, {
47
+ acl: @acl,
48
+ cache_control: @cache_control,
45
49
  content_type: location[:compress] ? 'application/x-gzip' : 'application/xml'
46
- )
50
+ }.compact)
47
51
  end
48
52
 
49
53
  private
@@ -10,8 +10,9 @@ module SitemapGenerator
10
10
  #
11
11
  # @param [Hash] opts Google::Cloud::Storage configuration options.
12
12
  # @option :bucket [String] Required. Name of Google Storage Bucket where the file is to be uploaded.
13
+ # @option :acl [String] Optional. Access control which is applied to the uploaded file(s). Default value is 'public'.
13
14
  #
14
- # All options other than the `:bucket` option are passed to the `Google::Cloud::Storage.new`
15
+ # All options other than the `:bucket` and `:acl` options are passed to the `Google::Cloud::Storage.new`
15
16
  # initializer. See https://googleapis.dev/ruby/google-cloud-storage/latest/file.AUTHENTICATION.html
16
17
  # for all the supported environment variables and https://github.com/googleapis/google-cloud-ruby/blob/master/google-cloud-storage/lib/google/cloud/storage.rb
17
18
  # for supported options.
@@ -22,6 +23,7 @@ module SitemapGenerator
22
23
  def initialize(opts = {})
23
24
  opts = opts.clone
24
25
  @bucket = opts.delete(:bucket)
26
+ @acl = opts.has_key?(:acl) ? opts.delete(:acl) : 'public'
25
27
  @storage_options = opts
26
28
  end
27
29
 
@@ -31,7 +33,7 @@ module SitemapGenerator
31
33
 
32
34
  storage = Google::Cloud::Storage.new(**@storage_options)
33
35
  bucket = storage.bucket(@bucket)
34
- bucket.create_file(location.path, location.path_in_public, acl: 'public')
36
+ bucket.create_file(location.path, location.path_in_public, acl: @acl)
35
37
  end
36
38
  end
37
39
  end
@@ -125,8 +125,7 @@ module SitemapGenerator
125
125
  :include_index => false,
126
126
  :filename => :sitemap,
127
127
  :search_engines => {
128
- :google => "http://www.google.com/webmasters/tools/ping?sitemap=%s",
129
- :bing => "http://www.bing.com/webmaster/ping.aspx?sitemap=%s"
128
+ :google => "http://www.google.com/webmasters/tools/ping?sitemap=%s"
130
129
  },
131
130
  :create_index => :auto,
132
131
  :compress => true,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitemap_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.1
4
+ version: 6.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Varga
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-19 00:00:00.000000000 Z
11
+ date: 2022-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder