canonical-rails 0.2.9 → 0.2.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ab1e0b7b6f0b2ab95ac94692939a74ade7bd8a2cb744bec7c6762ae04a1dfe7
4
- data.tar.gz: 8091321b37d368601c5242496bade7282fc2e7a31a4d7ee547cddae8eaa116a6
3
+ metadata.gz: a81685e6294e15e30d48ca8ce1bc15fcba1da4d58ccf16abe967b973e923310f
4
+ data.tar.gz: a9a783ecf48e8bd9824be40f5ac229cb121681aa30ed2859d48e34f47adbb534
5
5
  SHA512:
6
- metadata.gz: 6015361191325a29ea441f6150277126ba216c59ac40f09954b6b178b497b84216e6783505dafab8b479d4264949836a98d6175101fd275d18b3c941ff7e8022
7
- data.tar.gz: a6bf895a0626fb7dfd47e4bc88c19e2bd90d8671b42c95d5f0878a7578104e9b40af35662806abc442f53d4a2a54e7afea8baa7eca89a5f9e753ee16d8221e33
6
+ metadata.gz: a91cb09a01bac779d159729212b21f12ff1349e2416a7defd810e53304f3be666cdb89bbaf1b95813b7ef29c01d080aa5a09647d751a8d08a617ea3e05c23bef
7
+ data.tar.gz: 0ea17f484eb95061b76f6845e56c81a240132512ddd719d11b2735bf80892f556525782acf09f2d8346c7886213f3176d7399833e437adf667e042abd6e29518
@@ -38,11 +38,11 @@ module CanonicalRails
38
38
  def canonical_href(host = canonical_host, port = canonical_port, force_trailing_slash = nil)
39
39
  default_ports = { 'https://' => 443, 'http://' => 80 }
40
40
  port = port.present? && port.to_i != default_ports[canonical_protocol] ? ":#{port}" : ''
41
- raw "#{canonical_protocol}#{host}#{port}#{path_without_html_extension}#{trailing_slash_config(force_trailing_slash)}#{whitelisted_query_string}"
41
+ raw "#{canonical_protocol}#{host}#{port}#{path_without_html_extension}#{trailing_slash_config(force_trailing_slash)}#{allowed_query_string}"
42
42
  end
43
43
 
44
44
  def canonical_path(force_trailing_slash = nil)
45
- raw "#{path_without_html_extension}#{trailing_slash_config(force_trailing_slash)}#{whitelisted_query_string}"
45
+ raw "#{path_without_html_extension}#{trailing_slash_config(force_trailing_slash)}#{allowed_query_string}"
46
46
  end
47
47
 
48
48
  def canonical_tag(host = canonical_host, port = canonical_port, force_trailing_slash = nil)
@@ -55,15 +55,15 @@ module CanonicalRails
55
55
  end
56
56
  end
57
57
 
58
- def whitelisted_params
58
+ def allowed_params
59
59
  selected_params = params.select do |key, value|
60
- value.present? && CanonicalRails.sym_whitelisted_parameters.include?(key.to_sym)
60
+ value.present? && CanonicalRails.sym_allowed_parameters.include?(key.to_sym)
61
61
  end
62
62
 
63
63
  selected_params.respond_to?(:to_unsafe_h) ? selected_params.to_unsafe_h : selected_params.to_h
64
64
  end
65
65
 
66
- def whitelisted_query_string
66
+ def allowed_query_string
67
67
  # Rack 1.4.5 fails to handle params that are not strings
68
68
  # So if
69
69
  # my_hash = { "a" => 1, "b" => 2}
@@ -73,10 +73,8 @@ module CanonicalRails
73
73
  # https://github.com/rack/rack/blob/9939d40a5e23dcb058751d1029b794aa2f551900/test/spec_utils.rb#L222
74
74
  # Rack 1.6.0 has it
75
75
  # https://github.com/rack/rack/blob/65a7104b6b3e9ecd8f33c63a478ab9a33a103507/test/spec_utils.rb#L251
76
-
77
- wl_params = whitelisted_params
78
-
79
- "?" + Rack::Utils.build_nested_query(convert_numeric_params(wl_params)) if wl_params.present?
76
+ parameters = allowed_params
77
+ "?" + Rack::Utils.build_nested_query(convert_numeric_params(parameters)) if parameters.present?
80
78
  end
81
79
 
82
80
  private
@@ -1,4 +1,5 @@
1
1
  require "canonical-rails/engine"
2
+ require "canonical-rails/deprecation"
2
3
 
3
4
  module CanonicalRails
4
5
 
@@ -23,9 +24,13 @@ module CanonicalRails
23
24
  mattr_accessor :collection_actions
24
25
  @@collection_actions = [:index]
25
26
 
27
+ # @deprecated: use config.allowed_parameters instead
26
28
  mattr_accessor :whitelisted_parameters
27
29
  @@whitelisted_parameters = []
28
30
 
31
+ mattr_accessor :allowed_parameters
32
+ @@allowed_parameters = []
33
+
29
34
  mattr_accessor :opengraph_url
30
35
  @@opengraph_url = false
31
36
 
@@ -33,7 +38,12 @@ module CanonicalRails
33
38
  @@sym_collection_actions ||= self.collection_actions.map(&:to_sym)
34
39
  end
35
40
 
36
- def self.sym_whitelisted_parameters
37
- @@sym_whitelisted_parameters ||= self.whitelisted_parameters.map(&:to_sym)
41
+ def self.sym_allowed_parameters
42
+ @@sym_allowed_parameters ||= if self.whitelisted_parameters.empty?
43
+ self.allowed_parameters.map(&:to_sym)
44
+ else
45
+ CanonicalRails::Deprecation.warn('config.whitelisted_parameters is deprecated, please use config.allowed_parameters instead.')
46
+ self.whitelisted_parameters.map(&:to_sym)
47
+ end
38
48
  end
39
49
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/deprecation'
4
+
5
+ module CanonicalRails
6
+ Deprecation = ActiveSupport::Deprecation.new('1.0', 'CanonicalRails')
7
+ end
@@ -1,3 +1,3 @@
1
1
  module CanonicalRails
2
- VERSION = "0.2.9"
2
+ VERSION = "0.2.11"
3
3
  end
@@ -20,9 +20,9 @@ CanonicalRails.setup do |config|
20
20
  config.collection_actions# = [:index]
21
21
 
22
22
  # Parameter spamming can cause index dilution by creating seemingly different URLs with identical or near-identical content.
23
- # Unless whitelisted, these parameters will be omitted
23
+ # Unless allowed, these parameters will be omitted
24
24
 
25
- config.whitelisted_parameters# = []
25
+ config.allowed_parameters# = []
26
26
 
27
27
  # Output a matching OpenGraph URL meta tag (og:url) with the canonical URL, as recommended by Facebook et al
28
28
  config.opengraph_url#= true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canonical-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Ivanov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-20 00:00:00.000000000 Z
11
+ date: 2020-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.1'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.1'
22
+ version: '6.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.1'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.1'
32
+ version: '6.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: appraisal
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -101,6 +101,7 @@ files:
101
101
  - app/helpers/canonical_rails/tag_helper.rb
102
102
  - config/routes.rb
103
103
  - lib/canonical-rails.rb
104
+ - lib/canonical-rails/deprecation.rb
104
105
  - lib/canonical-rails/engine.rb
105
106
  - lib/canonical-rails/version.rb
106
107
  - lib/generators/canonical_rails/install/install_generator.rb
@@ -109,7 +110,7 @@ files:
109
110
  homepage: https://github.com/jumph4x/canonical-rails
110
111
  licenses: []
111
112
  metadata: {}
112
- post_install_message:
113
+ post_install_message:
113
114
  rdoc_options: []
114
115
  require_paths:
115
116
  - lib
@@ -124,9 +125,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
125
  - !ruby/object:Gem::Version
125
126
  version: '0'
126
127
  requirements: []
127
- rubyforge_project:
128
- rubygems_version: 2.7.6.2
129
- signing_key:
128
+ rubygems_version: 3.0.6
129
+ signing_key:
130
130
  specification_version: 4
131
131
  summary: Simple and configurable Rails canonical ref tag helper
132
132
  test_files: []