meta-tags 2.22.3 → 2.24.0

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.
@@ -2,7 +2,6 @@
2
2
 
3
3
  module MetaTags
4
4
  # Contains methods to use in views and helpers.
5
- #
6
5
  module ViewHelper
7
6
  # Get meta tags for the page.
8
7
  def meta_tags
@@ -11,67 +10,62 @@ module MetaTags
11
10
 
12
11
  # Set meta tags for the page.
13
12
  #
14
- # Method could be used several times, and all options passed will
15
- # be merged. If you will set the same property several times, last one
13
+ # This method can be used several times, and all passed options will
14
+ # be merged. If you set the same property several times, the last one
16
15
  # will take precedence.
17
16
  #
18
- # Usually you will not call this method directly. Use {#title}, {#keywords},
19
- # {#description} for your daily tasks.
17
+ # Usually you will not call this method directly. Use helpers like
18
+ # {#title}, {#description}, {#noindex}, and {#canonical} for daily tasks.
19
+ # {#keywords} remains available for legacy compatibility.
20
20
  #
21
- # @param [Hash] meta_tags list of meta tags. See {#display_meta_tags}
21
+ # @param meta_tags [Hash] list of meta tags. See {#display_meta_tags}
22
22
  # for allowed options.
23
- #
23
+ # @see #display_meta_tags
24
24
  # @example
25
25
  # set_meta_tags title: 'Login Page', description: 'Here you can login'
26
- # set_meta_tags keywords: 'authorization, login'
27
- #
28
- # @see #display_meta_tags
29
- #
26
+ # set_meta_tags canonical: 'https://example.com/login'
30
27
  def set_meta_tags(meta_tags = {})
31
28
  self.meta_tags.update(meta_tags)
32
29
  end
33
30
 
34
- # Set the page title and return it back.
31
+ # Set the page title and return it.
35
32
  #
36
33
  # This method is best suited for use in helpers. It sets the page title
37
34
  # and returns it (or +headline+ if specified).
38
35
  #
39
- # @param [nil, String, Array] title page title. When passed as an
36
+ # @param title [nil, String, Array] page title. When passed as an
40
37
  # +Array+, parts will be joined using configured separator value
41
38
  # (see {#display_meta_tags}). When nil, current title will be returned.
42
- # @param [String] headline the value to return from method. Useful
39
+ # @param headline [String] the value to return from the method. Useful
43
40
  # for using this method in views to set both page title
44
- # and the content of heading tag.
41
+ # and the content of the heading tag.
45
42
  # @return [String] returns +title+ value or +headline+ if passed.
46
- #
47
- # @example Set HTML title to "Please login", return "Please login"
43
+ # @see #display_meta_tags
44
+ # @example Set HTML title to "Login Page", return "Login Page"
48
45
  # title 'Login Page'
49
46
  # @example Set HTML title to "Login Page", return "Please login"
50
47
  # title 'Login Page', 'Please login'
51
48
  # @example Set title as array of strings
52
- # title title: ['part1', 'part2'] # => "part1 | part2"
49
+ # title ['part1', 'part2'] # => "part1 | part2"
53
50
  # @example Get current title
54
51
  # title
55
- #
56
- # @see #display_meta_tags
57
- #
58
52
  def title(title = nil, headline = "")
59
53
  set_meta_tags(title: title) unless title.nil?
60
- headline.presence || meta_tags[:title]
54
+ headline.presence || meta_tags.page_title
61
55
  end
62
56
 
63
- # Set the page keywords.
57
+ # Set the legacy keywords meta tag.
58
+ #
59
+ # Modern search engines ignore this tag, but some older integrations and
60
+ # internal systems may still read it.
64
61
  #
65
- # @param [String, Array] keywords meta keywords to render in HEAD
62
+ # @param keywords [String, Array] keywords meta tag value to render in the HEAD
66
63
  # section of the HTML document.
67
64
  # @return [String, Array] passed value.
68
- #
65
+ # @see #display_meta_tags
69
66
  # @example
70
67
  # keywords 'keyword1, keyword2'
71
68
  # keywords %w(keyword1 keyword2)
72
- #
73
- # @see #display_meta_tags
74
- #
75
69
  def keywords(keywords)
76
70
  set_meta_tags(keywords: keywords)
77
71
  keywords
@@ -79,78 +73,66 @@ module MetaTags
79
73
 
80
74
  # Set the page description.
81
75
  #
82
- # @param [String] description page description to be set in HEAD section of
83
- # the HTML document. Please note, any HTML tags will be stripped
84
- # from output string, and string will be truncated to 200
85
- # characters.
76
+ # @param description [String] page description to be set in the HEAD section
77
+ # of the HTML document. Please note that any HTML tags will be stripped
78
+ # from the output string, and the string will be truncated to the
79
+ # configured description limit.
86
80
  # @return [String] passed value.
87
- #
81
+ # @see #display_meta_tags
88
82
  # @example
89
83
  # description 'This is login page'
90
- #
91
- # @see #display_meta_tags
92
- #
93
84
  def description(description)
94
85
  set_meta_tags(description: description)
95
86
  description
96
87
  end
97
88
 
98
- # Set the noindex meta tag
89
+ # Set the noindex meta tag.
99
90
  #
100
- # @param [Boolean, String, Array<String>] noindex a noindex value.
91
+ # @param noindex [Boolean, String, Array<String>] a noindex value.
101
92
  # @return [Boolean, String, Array<String>] passed value.
102
- #
93
+ # @see #display_meta_tags
103
94
  # @example
104
95
  # noindex true
105
96
  # noindex 'googlebot'
106
- #
107
- # @see #display_meta_tags
108
- #
109
97
  def noindex(noindex = true)
110
98
  set_meta_tags(noindex: noindex)
111
99
  noindex
112
100
  end
113
101
 
114
- # Set the nofollow meta tag
102
+ # Set the nofollow meta tag.
115
103
  #
116
- # @param [Boolean, String, Array<String>] nofollow a nofollow value.
104
+ # @param nofollow [Boolean, String, Array<String>] a nofollow value.
117
105
  # @return [Boolean, String, Array<String>] passed value.
118
- #
106
+ # @see #display_meta_tags
119
107
  # @example
120
108
  # nofollow true
121
109
  # nofollow 'googlebot'
122
- #
123
- # @see #display_meta_tags
124
- #
125
110
  def nofollow(nofollow = true)
126
111
  set_meta_tags(nofollow: nofollow)
127
112
  nofollow
128
113
  end
129
114
 
130
- # Set the refresh meta tag
115
+ # Set the refresh meta tag.
131
116
  #
132
- # @param [Integer, String] refresh a refresh value.
117
+ # @param refresh [Integer, String] a refresh value.
133
118
  # @return [Integer, String] passed value.
134
- #
119
+ # @see #display_meta_tags
135
120
  # @example
136
121
  # refresh 5
137
122
  # refresh "5;url=http://www.example.com/"
138
- #
139
- # @see #display_meta_tags
140
- #
141
123
  def refresh(refresh)
142
124
  set_meta_tags(refresh: refresh)
143
125
  refresh
144
126
  end
145
127
 
146
128
  # Set default meta tag values and display meta tags. This method
147
- # should be used in layout file.
129
+ # should be used in the layout file.
148
130
  #
149
- # @param [Hash] defaults default meta tag values.
131
+ # @param defaults [Hash] default meta tag values.
150
132
  # @option default [String] :site (nil) site title;
151
133
  # @option default [String] :title ("") page title;
152
134
  # @option default [String] :description (nil) page description;
153
- # @option default [String] :keywords (nil) page keywords;
135
+ # @option default [String] :keywords (nil) legacy page keywords;
154
136
  # @option default [String, Boolean] :prefix (" ") text between site name and separator;
155
137
  # when +false+, no prefix will be rendered;
156
138
  # @option default [String] :separator ("|") text used to separate website name from page title;
@@ -164,31 +146,36 @@ module MetaTags
164
146
  # otherwise the string will be used;
165
147
  # @option default [String] :canonical (nil) add canonical link tag.
166
148
  # @option default [Hash] :alternate ({}) add alternate link tag.
167
- # @option default [String] :prev (nil) add prev link tag;
168
- # @option default [String] :next (nil) add next link tag.
149
+ # @option default [String] :prev (nil) add legacy prev pagination link tag;
150
+ # @option default [String] :next (nil) add legacy next pagination link tag.
169
151
  # @option default [String, Integer] :refresh (nil) meta refresh tag;
170
152
  # @option default [Hash] :open_graph ({}) add Open Graph meta tags.
171
153
  # @option default [Hash] :open_search ({}) add Open Search link tag.
154
+ # @option default [Hash] :robots ({}) add robots meta tags.
155
+ # @option default [Hash] :googlebot ({}) add googlebot meta tags.
156
+ # @option default [Hash] :bingbot ({}) add bingbot meta tags.
172
157
  # @return [String] HTML meta tags to render in HEAD section of the
173
158
  # HTML document.
174
- #
175
- # @example
176
- # <head>
177
- # <%= display_meta_tags site: 'My website' %>
178
- # </head>
179
- #
159
+ # @example Render meta tags in a layout
160
+ # display_meta_tags site: 'My website'
161
+ # @example ERB layout usage
162
+ # <<~ERB
163
+ # <head>
164
+ # <%= display_meta_tags site: 'My website' %>
165
+ # </head>
166
+ # ERB
180
167
  def display_meta_tags(defaults = {})
181
168
  meta_tags.with_defaults(defaults) { Renderer.new(meta_tags).render(self) }
182
169
  end
183
170
 
184
171
  # Returns full page title as a string without surrounding <title> tag.
185
172
  #
186
- # The only case when you may need this helper is when you use pjax. This means
187
- # that your layout file (with display_meta_tags helper) will not be rendered,
188
- # so you have to pass default arguments like site title in here. You probably
189
- # want to define helper with default options to minimize code duplication.
173
+ # The only case when you may need this helper is when you use PJAX. This means
174
+ # that your layout file (with the display_meta_tags helper) will not be rendered,
175
+ # so you have to pass default arguments such as the site title here. You probably
176
+ # want to define a helper with default options to minimize code duplication.
190
177
  #
191
- # @param [Hash] defaults list of meta tags.
178
+ # @param defaults [Hash] list of meta tags.
192
179
  # @option default [String] :site (nil) site title;
193
180
  # @option default [String] :title ("") page title;
194
181
  # @option default [String, Boolean] :prefix (" ") text between site name and separator; when +false+,
@@ -196,12 +183,15 @@ module MetaTags
196
183
  # @option default [String] :separator ("|") text used to separate website name from page title;
197
184
  # @option default [String, Boolean] :suffix (" ") text between separator and page title; when +false+,
198
185
  # no suffix will be rendered;
199
- # @option default [Boolean] :lowercase (false) when true, the page name will be lowercase;
186
+ # @option default [Boolean] :lowercase (false) when true, the page title will be lowercase;
200
187
  # @option default [Boolean] :reverse (false) when true, the page and site names will be reversed;
201
- #
202
- # @example
203
- # <div data-page-container="true" title="<%= display_title title: 'My Page', site: 'PJAX Site' %>">
204
- #
188
+ # @example Build a PJAX-compatible title string
189
+ # display_title title: 'My Page', site: 'PJAX Site'
190
+ # @example ERB PJAX container usage
191
+ # <<~ERB
192
+ # <div data-page-container="true" title="<%= display_title title: 'My Page', site: 'PJAX Site' %>">
193
+ # </div>
194
+ # ERB
205
195
  def display_title(defaults = {})
206
196
  meta_tags.full_title(defaults)
207
197
  end
data/lib/meta_tags.rb CHANGED
@@ -2,20 +2,24 @@
2
2
 
3
3
  require "set"
4
4
  require "active_support/core_ext/hash/indifferent_access"
5
+ require "active_support/deprecation"
5
6
 
6
7
  # MetaTags gem namespace.
7
8
  module MetaTags
8
9
  # Returns MetaTags gem configuration.
9
- #
10
10
  def self.config
11
11
  @config ||= Configuration.new
12
12
  end
13
13
 
14
+ # Returns the deprecator used for MetaTags API warnings.
15
+ def self.deprecator
16
+ @deprecator ||= ActiveSupport::Deprecation.new("3.0", "MetaTags")
17
+ end
18
+
14
19
  # Configures MetaTags gem.
15
20
  #
16
21
  # @yield [Configuration] configuration object.
17
22
  # @example
18
- #
19
23
  # MetaTags.configure do |config|
20
24
  # # config.title_limit = 100
21
25
  # end
@@ -24,9 +24,6 @@ class ::Loofah
24
24
  def self.fragment: (String tags, ?String? encoding) -> DocumentFragment
25
25
  end
26
26
 
27
- class ::Rails
28
- end
29
-
30
27
  module ActionController
31
28
  class Base
32
29
  include _ActionControllerBase
@@ -36,24 +33,13 @@ module ActionController
36
33
  end
37
34
 
38
35
  module ActiveSupport
36
+ class Deprecation
37
+ def initialize: (String deprecation_horizon, String gem_name) -> void
38
+ def warn: (String message) -> void
39
+ end
40
+
39
41
  class HashWithIndifferentAccess[unchecked out K, unchecked out V] < Hash[K, V]
40
42
  def with_indifferent_access: () -> self
41
43
  def deep_merge!: (instance | Hash[K, V] other) -> self
42
44
  end
43
45
  end
44
-
45
- interface _ActionControllerBase
46
- def render: (*untyped args) ?{ () -> untyped } -> untyped
47
- end
48
-
49
- interface _ActionViewBase
50
- def tag: (String name, ?Hash[String | Symbol, untyped] options, ?bool open) -> String
51
-
52
- def content_tag: (String name, String content, ?Hash[String | Symbol, untyped] options, ?bool open) -> String
53
-
54
- def safe_join: (Array[String], String) -> String
55
-
56
- def truncate: (String text, ?Hash[Symbol, untyped] options) -> String
57
-
58
- def strip_tags: (String html) -> String
59
- end
@@ -1,20 +1,22 @@
1
1
  module MetaTags
2
2
  class Configuration
3
3
  type html_tag_key = String | Symbol
4
- type html_tag_value = Hash[html_tag_key, html_tag_value] | html_tag_content
5
- type html_tag_content = String? | Symbol | (_Stringish & Object)
4
+ type html_tag_value = Hash[html_tag_key, html_tag_value] | Array[html_tag_value] | html_tag_content
5
+ type html_tag_content = String? | Symbol | Numeric | bool | (_Stringish & Object)
6
6
 
7
7
 
8
8
  attr_accessor title_limit: Integer?
9
9
  attr_accessor truncate_site_title_first: bool
10
10
  attr_accessor truncate_on_natural_separator: String?|Regexp
11
+ attr_accessor truncate_array_items_at_boundaries: bool
11
12
  attr_accessor title_tag_attributes: Hash[html_tag_key, html_tag_value]?
12
- attr_accessor description_limit: Integer
13
+ attr_accessor description_limit: Integer?
13
14
  attr_accessor keywords_limit: Integer
14
15
  attr_accessor keywords_separator: String
15
16
  attr_accessor keywords_lowercase: bool
16
17
  attr_accessor open_meta_tags: bool
17
18
  attr_accessor minify_output: bool
19
+ attr_accessor resolve_symbolic_references_in_arrays: bool
18
20
  attr_reader property_tags: Array[String | Symbol]
19
21
  attr_accessor skip_canonical_links_on_noindex: bool
20
22
 
@@ -7,7 +7,7 @@ module MetaTags
7
7
 
8
8
  def render: (*untyped args) ?{ () -> untyped } -> untyped
9
9
 
10
- def set_meta_tags: (ViewHelper::meta_tags | (_MetaTagish & Object) meta_tags) -> void
10
+ def set_meta_tags: (meta_tags | (_MetaTagish & Object) meta_tags) -> void
11
11
 
12
12
  def meta_tags: () -> MetaTagsCollection
13
13
  end
@@ -28,14 +28,20 @@ module MetaTags
28
28
 
29
29
  def extract_robots: () -> Hash[String, String]
30
30
 
31
+ def noindex?: () -> bool
32
+
33
+ def robots: () -> Hash[String, String]
34
+
31
35
  def normalize_open_graph: (Hash[String | Symbol, untyped] meta_tags) -> ActiveSupport::HashWithIndifferentAccess[String | Symbol, untyped]
32
36
 
33
37
  def extract_separator_section: (String | Symbol name, String default) -> String
34
38
 
35
- def extract_robots_attribute: (String | Symbol name) -> [String | Array[String | Symbol], String?]
39
+ def extract_robots_attribute: (String | Symbol name) -> [String | Array[String], String?]
40
+
41
+ def robots_attribute_present?: (untyped value) -> bool
36
42
 
37
- def calculate_robots_attributes: (untyped result, untyped attributes) -> untyped
43
+ def calculate_robots_attributes: (Hash[String, Array[String]] result, String | Symbol | Array[String | Symbol] attributes) -> void
38
44
 
39
- def apply_robots_value: (untyped result, untyped name, untyped value, untyped processed) -> (nil | untyped)
45
+ def apply_robots_value: (Hash[String, Array[String]] result, String name, String value, Set[String] processed) -> void
40
46
  end
41
47
  end
@@ -0,0 +1,15 @@
1
+ interface _ActionControllerBase
2
+ def render: (*untyped args) ?{ () -> untyped } -> untyped
3
+ end
4
+
5
+ interface _ActionViewBase
6
+ def tag: (String name, ?Hash[String | Symbol, untyped] options, ?bool open) -> String
7
+
8
+ def content_tag: (String name, String content, ?Hash[String | Symbol, untyped] options, ?bool open) -> String
9
+
10
+ def safe_join: (Array[String], String) -> String
11
+
12
+ def truncate: (String text, ?Hash[Symbol, untyped] options) -> String
13
+
14
+ def strip_tags: (String html) -> String
15
+ end
@@ -2,7 +2,7 @@ module MetaTags
2
2
  class Renderer
3
3
  type meta_key = String | Symbol
4
4
  type meta_value = Hash[meta_key, meta_value] | Array[meta_value] | meta_content
5
- type meta_content = String? | Symbol | Integer | bool | (_Timish & Object) | (_Stringish & Object)
5
+ type meta_content = String? | Symbol | Integer | Float | bool | (_Timish & Object) | (_Stringish & Object)
6
6
 
7
7
  attr_reader meta_tags: MetaTagsCollection
8
8
  attr_reader normalized_meta_tags: Hash[Symbol, meta_value]
@@ -31,20 +31,24 @@ module MetaTags
31
31
 
32
32
  def render_canonical_link: (Array[Tag] tags) -> void
33
33
 
34
- def render_hashes: (Array[Tag] tags, **untyped opts) -> void
34
+ def render_hashes: (Array[Tag] tags) -> void
35
35
 
36
- def render_hash: (Array[Tag] tags, untyped key, **untyped opts) -> void
36
+ def render_hash: (Array[Tag] tags, meta_key key) -> void
37
37
 
38
38
  def render_custom: (Array[Tag] tags) -> void
39
39
 
40
- def process_tree: (Array[Tag] tags, meta_key property, meta_value content, ?itemprop: meta_key? itemprop, **untyped opts) -> void
40
+ def process_tree: (Array[Tag] tags, meta_key property, meta_value content, ?itemprop: meta_value itemprop) -> void
41
41
 
42
- def process_hash: (Array[Tag] tags, meta_key property, Hash[meta_key, meta_value] content, **untyped opts) -> void
42
+ def process_hash: (Array[Tag] tags, meta_key property, Hash[meta_key, meta_value] content, ?itemprop: meta_value itemprop) -> void
43
43
 
44
- def process_array: (Array[Tag] tags, meta_key property, Array[meta_value] content, **untyped opts) -> void
44
+ def process_array: (Array[Tag] tags, meta_key property, Array[meta_value] content, ?itemprop: meta_value itemprop) -> void
45
45
 
46
- def render_tag: (Array[Tag] tags, meta_key name, meta_content value, ?itemprop: meta_key? itemprop) -> void
46
+ def process_reference: (Array[Tag] tags, meta_key property, Symbol reference, ?itemprop: meta_value itemprop) -> void
47
+
48
+ def render_tag: (Array[Tag] tags, meta_key name, meta_content value, ?itemprop: meta_value itemprop) -> void
47
49
 
48
50
  def configured_name_key: (meta_key name) -> Symbol
51
+
52
+ def property_tag?: (String name, String tag_name) -> bool
49
53
  end
50
54
  end
@@ -7,6 +7,6 @@ module MetaTags
7
7
 
8
8
  def render: (_ActionViewBase view) -> String
9
9
 
10
- def prepare_attributes: (Hash[String | Symbol, untyped] attributes) -> Hash[String | Symbol, untyped]
10
+ def serialize_iso8601_attributes: (Hash[String | Symbol, untyped] attributes) -> Hash[String | Symbol, untyped]
11
11
  end
12
12
  end
@@ -2,53 +2,25 @@ module MetaTags
2
2
  module ViewHelper : Module, _ActionViewBase
3
3
  @meta_tags: MetaTagsCollection?
4
4
 
5
- # type meta_tags = {
6
- # site: String?,
7
- # title: Array[String] | String?,
8
- # description: String?,
9
- # keywords: Array[String] | String?,
10
- # charset: String,
11
- # prefix: String,
12
- # separator: String,
13
- # suffix: String,
14
- # lowercase: bool,
15
- # reverse: bool,
16
- # noindex: bool | String | Array[String],
17
- # index: bool | String | Array[String],
18
- # nofollow: bool | String | Array[String],
19
- # follow: bool | String | Array[String],
20
- # noarchive: bool | String | Array[String],
21
- # canonical: String,
22
- # prev: String,
23
- # next: String,
24
- # image_src: String,
25
- # alternate: String,
26
- # amphtml: String,
27
- # manifest: String,
28
- # og: Hash[Renderer::meta_key, Renderer::meta_value],
29
- # twitter: Hash[Renderer::meta_key, Renderer::meta_value],
30
- # open_search: Hash[Renderer::meta_key, Renderer::meta_value],
31
- # article: Hash[Renderer::meta_key, Renderer::meta_value],
32
- # al: Hash[Renderer::meta_key, Renderer::meta_value],
33
- # refresh: Integer | String | nil,
34
- # } & Hash[Renderer::meta_key, Renderer::meta_value]
5
+ type stringish = String | (_Stringish & Object)
6
+ type robots_value = bool | String | Array[String]
35
7
  type meta_tags = Hash[Renderer::meta_key, Renderer::meta_value]
36
8
 
37
9
  def meta_tags: () -> MetaTagsCollection
38
10
 
39
- def set_meta_tags: (?meta_tags | (_MetaTagish&Object) meta_tags) -> void
11
+ def set_meta_tags: (?meta_tags | (_MetaTagish & Object) meta_tags) -> void
40
12
 
41
- def title: (?String? title, ?::String? headline) -> String
13
+ def title: (?(stringish | Array[stringish]) title, ?::String? headline) -> String
42
14
 
43
- def keywords: (Array[String] | String? keywords) -> (Array[String] | String?)
15
+ def keywords: (TextNormalizer::keywords keywords) -> TextNormalizer::keywords
44
16
 
45
- def description: (String? description) -> String?
17
+ def description: (TextNormalizer::keyword description) -> TextNormalizer::keyword
46
18
 
47
- def noindex: (?String | Array[String] | bool noindex) -> (String | bool | Array[String])
19
+ def noindex: (?robots_value noindex) -> robots_value
48
20
 
49
- def nofollow: (?String | Array[String] | bool nofollow) -> (String | bool | Array[String])
21
+ def nofollow: (?robots_value nofollow) -> robots_value
50
22
 
51
- def refresh: (String? | Integer? refresh) -> (String? | Integer?)
23
+ def refresh: (TextNormalizer::keyword | Integer? refresh) -> (TextNormalizer::keyword | Integer?)
52
24
 
53
25
  def display_meta_tags: (?meta_tags defaults) -> String
54
26
 
@@ -1,7 +1,11 @@
1
1
  module MetaTags
2
+ type meta_tags = Hash[Renderer::meta_key, Renderer::meta_value]
3
+
2
4
  self.@config: Configuration
5
+ self.@deprecator: ActiveSupport::Deprecation?
3
6
 
4
7
  def self.config: () -> Configuration
8
+ def self.deprecator: () -> ActiveSupport::Deprecation
5
9
  def self.configure: () { (Configuration) -> void } -> void
6
10
 
7
11
  interface _Stringish
@@ -13,6 +17,6 @@ module MetaTags
13
17
  end
14
18
 
15
19
  interface _MetaTagish
16
- def to_meta_tags: () -> Hash[String | Symbol, untyped]
20
+ def to_meta_tags: () -> meta_tags
17
21
  end
18
22
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meta-tags
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.22.3
4
+ version: 2.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmytro Shteflyuk
@@ -30,7 +30,7 @@ cert_chain:
30
30
  pPzkBOwQl2p1ykAEUe7cwoqJcO+1rPeTHjudNqhOfc3VnMA8A7uXOkTtYNVhvApn
31
31
  oW4hE/8SnZkQm8jzdi0iX9nWxo8=
32
32
  -----END CERTIFICATE-----
33
- date: 2026-01-07 00:00:00.000000000 Z
33
+ date: 2026-09-01 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: actionpack
@@ -130,6 +130,20 @@ dependencies:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
132
  version: 0.22.0
133
+ - !ruby/object:Gem::Dependency
134
+ name: steep
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 1.10.0
140
+ type: :development
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 1.10.0
133
147
  - !ruby/object:Gem::Dependency
134
148
  name: rubocop-rake
135
149
  requirement: !ruby/object:Gem::Requirement
@@ -200,7 +214,8 @@ dependencies:
200
214
  - - "~>"
201
215
  - !ruby/object:Gem::Version
202
216
  version: 0.6.0
203
- description: Search Engine Optimization (SEO) plugin for Ruby on Rails applications.
217
+ description: Rails helpers for HTML metadata such as titles, descriptions, canonical
218
+ links, robots directives, and social tags.
204
219
  email:
205
220
  - kpumuk@kpumuk.info
206
221
  executables: []
@@ -212,6 +227,7 @@ files:
212
227
  - CONTRIBUTING.md
213
228
  - MIT-LICENSE
214
229
  - README.md
230
+ - SECURITY.md
215
231
  - certs/kpumuk.pem
216
232
  - lib/generators/meta_tags/install_generator.rb
217
233
  - lib/generators/meta_tags/templates/config/initializers/meta_tags.rb
@@ -227,12 +243,13 @@ files:
227
243
  - lib/meta_tags/text_normalizer.rb
228
244
  - lib/meta_tags/version.rb
229
245
  - lib/meta_tags/view_helper.rb
230
- - sig/lib/_internal/rails.rbs
246
+ - sig/_private/rails_support.rbs
231
247
  - sig/lib/meta_tags.rbs
232
248
  - sig/lib/meta_tags/configuration.rbs
233
249
  - sig/lib/meta_tags/content_tag.rbs
234
250
  - sig/lib/meta_tags/controller_helper.rbs
235
251
  - sig/lib/meta_tags/meta_tags_collection.rbs
252
+ - sig/lib/meta_tags/rails_interfaces.rbs
236
253
  - sig/lib/meta_tags/renderer.rbs
237
254
  - sig/lib/meta_tags/tag.rbs
238
255
  - sig/lib/meta_tags/text_normalizer.rbs
@@ -266,5 +283,5 @@ requirements: []
266
283
  rubygems_version: 3.5.22
267
284
  signing_key:
268
285
  specification_version: 4
269
- summary: Collection of SEO helpers for Ruby on Rails.
286
+ summary: Collection of metadata helpers for Ruby on Rails.
270
287
  test_files: []
metadata.gz.sig CHANGED
Binary file