meta-tags 2.18.0 → 2.19.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.
@@ -47,25 +47,25 @@ module MetaTags
47
47
  def default_property_tags
48
48
  [
49
49
  # App Link metadata https://developers.facebook.com/docs/applinks/metadata-reference
50
- 'al',
50
+ "al",
51
51
  # Open Graph Markup https://developers.facebook.com/docs/sharing/webmasters#markup
52
- 'fb',
53
- 'og',
52
+ "fb",
53
+ "og",
54
54
  # Facebook OpenGraph Object Types https://developers.facebook.com/docs/reference/opengraph
55
55
  # Note that these tags are used in a regex, so including e.g. 'restaurant' will affect
56
56
  # 'restaurant:category', 'restaurant:price_rating', and anything else under that namespace.
57
- 'article',
58
- 'book',
59
- 'books',
60
- 'business',
61
- 'fitness',
62
- 'game',
63
- 'music',
64
- 'place',
65
- 'product',
66
- 'profile',
67
- 'restaurant',
68
- 'video',
57
+ "article",
58
+ "book",
59
+ "books",
60
+ "business",
61
+ "fitness",
62
+ "game",
63
+ "music",
64
+ "place",
65
+ "product",
66
+ "profile",
67
+ "restaurant",
68
+ "video"
69
69
  ].freeze
70
70
  end
71
71
 
@@ -78,7 +78,7 @@ module MetaTags
78
78
  @truncate_site_title_first = false
79
79
  @description_limit = 300
80
80
  @keywords_limit = 255
81
- @keywords_separator = ', '
81
+ @keywords_separator = ", "
82
82
  @keywords_lowercase = true
83
83
  @property_tags = default_property_tags.dup
84
84
  @open_meta_tags = true
@@ -15,8 +15,8 @@ module MetaTags
15
15
  # Processes the <tt>@page_title</tt>, <tt>@page_keywords</tt>, and
16
16
  # <tt>@page_description</tt> instance variables and calls +render+.
17
17
  def render(*args, &block)
18
- meta_tags[:title] = @page_title if defined?(@page_title) && @page_title
19
- meta_tags[:keywords] = @page_keywords if defined?(@page_keywords) && @page_keywords
18
+ meta_tags[:title] = @page_title if defined?(@page_title) && @page_title
19
+ meta_tags[:keywords] = @page_keywords if defined?(@page_keywords) && @page_keywords
20
20
  meta_tags[:description] = @page_description if defined?(@page_description) && @page_description
21
21
 
22
22
  super
@@ -25,7 +25,7 @@ module MetaTags
25
25
  # Set meta tags for the page.
26
26
  #
27
27
  # See <tt>MetaTags::ViewHelper#set_meta_tags</tt> for details.
28
- def set_meta_tags(meta_tags) # rubocop:disable Naming/AccessorMethodName
28
+ def set_meta_tags(meta_tags)
29
29
  self.meta_tags.update(meta_tags)
30
30
  end
31
31
  protected :set_meta_tags
@@ -39,12 +39,12 @@ module MetaTags
39
39
  #
40
40
  def update(object = {})
41
41
  meta_tags = if object.respond_to?(:to_meta_tags)
42
- # @type var object: (_MetaTagish & Object)
43
- object.to_meta_tags
44
- else
45
- # @type var object: Hash[String | Symbol, untyped]
46
- object
47
- end
42
+ # @type var object: _MetaTagish & Object
43
+ object.to_meta_tags
44
+ else
45
+ # @type var object: Hash[String | Symbol, untyped]
46
+ object
47
+ end
48
48
  @meta_tags.deep_merge! normalize_open_graph(meta_tags)
49
49
  end
50
50
 
@@ -79,7 +79,7 @@ module MetaTags
79
79
  old_site = @meta_tags[:site]
80
80
  @meta_tags[:site] = nil
81
81
  full_title = with_defaults(defaults) { extract_full_title }
82
- full_title.presence || old_site || ''
82
+ full_title.presence || old_site || ""
83
83
  ensure
84
84
  @meta_tags[:site] = old_site
85
85
  end
@@ -106,10 +106,10 @@ module MetaTags
106
106
  # @return [String] page title.
107
107
  #
108
108
  def extract_full_title
109
- site_title = extract(:site) || ''
110
- title = extract_title
111
- separator = extract_separator
112
- reverse = extract(:reverse) == true
109
+ site_title = extract(:site) || ""
110
+ title = extract_title
111
+ separator = extract_separator
112
+ reverse = extract(:reverse) == true
113
113
 
114
114
  TextNormalizer.normalize_title(site_title, title, separator, reverse)
115
115
  end
@@ -136,15 +136,15 @@ module MetaTags
136
136
  def extract_separator
137
137
  if meta_tags[:separator] == false
138
138
  # Special case: if separator is hidden, do not display suffix/prefix
139
- prefix = separator = suffix = ''
139
+ prefix = separator = suffix = ""
140
140
  else
141
- prefix = extract_separator_section(:prefix, ' ')
142
- separator = extract_separator_section(:separator, '|')
143
- suffix = extract_separator_section(:suffix, ' ')
141
+ prefix = extract_separator_section(:prefix, " ")
142
+ separator = extract_separator_section(:separator, "|")
143
+ suffix = extract_separator_section(:suffix, " ")
144
144
  end
145
145
  delete(:separator, :prefix, :suffix)
146
146
 
147
- TextNormalizer.safe_join([prefix, separator, suffix], '')
147
+ TextNormalizer.safe_join([prefix, separator, suffix], "")
148
148
  end
149
149
 
150
150
  # Extracts noindex settings as a Hash mapping noindex tag name to value.
@@ -159,12 +159,12 @@ module MetaTags
159
159
  [:noindex, :index],
160
160
  # follow has higher priority than nofollow
161
161
  [:follow, :nofollow],
162
- :noarchive,
162
+ :noarchive
163
163
  ].each do |attributes|
164
164
  calculate_robots_attributes(result, attributes)
165
165
  end
166
166
 
167
- result.transform_values { |v| v.join(', ') }
167
+ result.transform_values { |v| v.join(", ") }
168
168
  end
169
169
 
170
170
  protected
@@ -188,7 +188,7 @@ module MetaTags
188
188
  # @return [String] separator segment value.
189
189
  #
190
190
  def extract_separator_section(name, default)
191
- meta_tags[name] == false ? '' : (meta_tags[name] || default)
191
+ (meta_tags[name] == false) ? "" : (meta_tags[name] || default)
192
192
  end
193
193
 
194
194
  # Extracts robots attribute (noindex, nofollow, etc) name and value.
@@ -197,11 +197,11 @@ module MetaTags
197
197
  # @return [Array<String>] pair of noindex attribute name and value.
198
198
  #
199
199
  def extract_robots_attribute(name)
200
- noindex = extract(name)
201
- noindex_name = noindex.kind_of?(String) || noindex.kind_of?(Array) ? noindex : 'robots'
200
+ noindex = extract(name)
201
+ noindex_name = (noindex.is_a?(String) || noindex.is_a?(Array)) ? noindex : "robots"
202
202
  noindex_value = noindex ? name.to_s : nil
203
203
 
204
- [ noindex_name, noindex_value ]
204
+ [noindex_name, noindex_value]
205
205
  end
206
206
 
207
207
  def calculate_robots_attributes(result, attributes)
@@ -2,15 +2,15 @@
2
2
 
3
3
  module MetaTags
4
4
  class Railtie < Rails::Railtie
5
- initializer 'meta_tags.setup_action_controller' do
5
+ initializer "meta_tags.setup_action_controller" do
6
6
  ActiveSupport.on_load :action_controller do
7
- ActionController::Base.include MetaTags::ControllerHelper
7
+ include MetaTags::ControllerHelper
8
8
  end
9
9
  end
10
10
 
11
- initializer 'meta_tags.setup_action_view' do
11
+ initializer "meta_tags.setup_action_view" do
12
12
  ActiveSupport.on_load :action_view do
13
- ActionView::Base.include MetaTags::ViewHelper
13
+ include MetaTags::ViewHelper
14
14
  end
15
15
  end
16
16
  end
@@ -71,12 +71,12 @@ module MetaTags
71
71
  return unless icon
72
72
 
73
73
  # String? Value is an href
74
- icon = [{ href: icon }] if icon.kind_of?(String)
74
+ icon = [{href: icon}] if icon.is_a?(String)
75
75
  # Hash? Single icon instead of a list of icons
76
- icon = [icon] if icon.kind_of?(Hash)
76
+ icon = [icon] if icon.is_a?(Hash)
77
77
 
78
78
  icon.each do |icon_params|
79
- icon_params = { rel: 'icon', type: 'image/x-icon' }.with_indifferent_access.merge(icon_params)
79
+ icon_params = {rel: "icon", type: "image/x-icon"}.with_indifferent_access.merge(icon_params)
80
80
  tags << Tag.new(:link, icon_params)
81
81
  end
82
82
  end
@@ -109,7 +109,7 @@ module MetaTags
109
109
  #
110
110
  def render_refresh(tags)
111
111
  refresh = meta_tags.extract(:refresh)
112
- tags << Tag.new(:meta, 'http-equiv' => 'refresh', content: refresh.to_s) if refresh.present?
112
+ tags << Tag.new(:meta, "http-equiv" => "refresh", :content => refresh.to_s) if refresh.present?
113
113
  end
114
114
 
115
115
  # Renders alternate link tags.
@@ -120,13 +120,13 @@ module MetaTags
120
120
  alternate = meta_tags.extract(:alternate)
121
121
  return unless alternate
122
122
 
123
- if alternate.kind_of?(Hash)
123
+ if alternate.is_a?(Hash)
124
124
  alternate.each do |hreflang, href|
125
- tags << Tag.new(:link, rel: 'alternate', href: href, hreflang: hreflang) if href.present?
125
+ tags << Tag.new(:link, rel: "alternate", href: href, hreflang: hreflang) if href.present?
126
126
  end
127
- elsif alternate.kind_of?(Array)
127
+ elsif alternate.is_a?(Array)
128
128
  alternate.each do |link_params|
129
- tags << Tag.new(:link, { rel: 'alternate' }.with_indifferent_access.merge(link_params))
129
+ tags << Tag.new(:link, {rel: "alternate"}.with_indifferent_access.merge(link_params))
130
130
  end
131
131
  end
132
132
  end
@@ -143,7 +143,7 @@ module MetaTags
143
143
  title = open_search[:title]
144
144
 
145
145
  type = "application/opensearchdescription+xml"
146
- tags << Tag.new(:link, rel: 'search', type: type, href: href, title: title) if href.present?
146
+ tags << Tag.new(:link, rel: "search", type: type, href: href, title: title) if href.present?
147
147
  end
148
148
 
149
149
  # Renders links.
@@ -151,7 +151,7 @@ module MetaTags
151
151
  # @param [Array<Tag>] tags a buffer object to store tag in.
152
152
  #
153
153
  def render_links(tags)
154
- [ :amphtml, :prev, :next, :image_src, :manifest ].each do |tag_name|
154
+ [:amphtml, :prev, :next, :image_src, :manifest].each do |tag_name|
155
155
  href = meta_tags.extract(tag_name)
156
156
  if href.present?
157
157
  @normalized_meta_tags[tag_name] = href
@@ -189,7 +189,7 @@ module MetaTags
189
189
  #
190
190
  def render_hash(tags, key, **opts)
191
191
  data = meta_tags.meta_tags[key]
192
- return unless data.kind_of?(Hash)
192
+ return unless data.is_a?(Hash)
193
193
 
194
194
  process_hash(tags, key, data, **opts)
195
195
  meta_tags.extract(key)
@@ -202,7 +202,7 @@ module MetaTags
202
202
  def render_custom(tags)
203
203
  meta_tags.meta_tags.each do |name, data|
204
204
  Array(data).each do |val|
205
- tags << Tag.new(:meta, configured_name_key(name) => name, content: val)
205
+ tags << Tag.new(:meta, configured_name_key(name) => name, :content => val)
206
206
  end
207
207
  meta_tags.extract(name)
208
208
  end
@@ -217,14 +217,14 @@ module MetaTags
217
217
  #
218
218
  def process_tree(tags, property, content, itemprop: nil, **opts)
219
219
  method = case content
220
- when Hash
221
- :process_hash
222
- when Array
223
- :process_array
224
- else
225
- iprop = itemprop
226
- :render_tag
227
- end
220
+ when Hash
221
+ :process_hash
222
+ when Array
223
+ :process_array
224
+ else
225
+ iprop = itemprop
226
+ :render_tag
227
+ end
228
228
  __send__(method, tags, property, content, itemprop: iprop, **opts)
229
229
  end
230
230
 
@@ -237,18 +237,18 @@ module MetaTags
237
237
  def process_hash(tags, property, content, **opts)
238
238
  itemprop = content.delete(:itemprop)
239
239
  content.each do |key, value|
240
- if key.to_s == '_'
240
+ if key.to_s == "_"
241
241
  iprop = itemprop
242
242
  key = property
243
243
  else
244
244
  key = "#{property}:#{key}"
245
245
  end
246
246
 
247
- normalized_value = if value.kind_of?(Symbol)
248
- normalized_meta_tags[value]
249
- else
250
- value
251
- end
247
+ normalized_value = if value.is_a?(Symbol)
248
+ normalized_meta_tags[value]
249
+ else
250
+ value
251
+ end
252
252
  process_tree(tags, key, normalized_value, **opts.merge(itemprop: iprop))
253
253
  end
254
254
  end
@@ -273,7 +273,7 @@ module MetaTags
273
273
  #
274
274
  def render_tag(tags, name, value, itemprop: nil)
275
275
  name_key ||= configured_name_key(name)
276
- tags << Tag.new(:meta, name_key => name.to_s, content: value, itemprop: itemprop) if value.present?
276
+ tags << Tag.new(:meta, name_key => name.to_s, :content => value, :itemprop => itemprop) if value.present?
277
277
  end
278
278
 
279
279
  # Returns meta tag property name for a give meta tag based on the
@@ -44,7 +44,7 @@ module MetaTags
44
44
  # serves the same purpose we could just as it to convert itself to str
45
45
  # and continue from there
46
46
  description = cleanup_string(description)
47
- return '' if description.blank?
47
+ return "" if description.blank?
48
48
 
49
49
  truncate(description, MetaTags.config.description_limit)
50
50
  end
@@ -56,7 +56,7 @@ module MetaTags
56
56
  #
57
57
  def normalize_keywords(keywords)
58
58
  keywords = cleanup_strings(keywords)
59
- return '' if keywords.blank?
59
+ return "" if keywords.blank?
60
60
 
61
61
  keywords.each(&:downcase!) if MetaTags.config.keywords_lowercase
62
62
  separator = cleanup_string MetaTags.config.keywords_separator, strip: false
@@ -107,12 +107,12 @@ module MetaTags
107
107
  # space characters squashed into a single space.
108
108
  #
109
109
  def cleanup_string(string, strip: true)
110
- return '' if string.nil?
111
- raise ArgumentError, 'Expected a string or an object that implements #to_str' unless string.respond_to?(:to_str)
110
+ return "" if string.nil?
111
+ raise ArgumentError, "Expected a string or an object that implements #to_str" unless string.respond_to?(:to_str)
112
112
 
113
113
  s = strip_tags(string.to_str)
114
114
  s = s.dup if s.frozen?
115
- s.gsub!(/\s+/, ' ')
115
+ s.gsub!(/\s+/, " ")
116
116
  s.strip! if strip
117
117
 
118
118
  s
@@ -137,15 +137,15 @@ module MetaTags
137
137
  # @param [String] natural_separator natural separator to truncate at.
138
138
  # @return [String] truncated string.
139
139
  #
140
- def truncate(string, limit = nil, natural_separator = ' ')
141
- return string if limit.to_i == 0 # rubocop:disable Lint/NumberConversion
140
+ def truncate(string, limit = nil, natural_separator = " ")
141
+ return string if limit.to_i == 0
142
142
 
143
143
  helpers.truncate(
144
144
  string,
145
- length: limit,
145
+ length: limit,
146
146
  separator: natural_separator,
147
- omission: '',
148
- escape: true,
147
+ omission: "",
148
+ escape: true
149
149
  )
150
150
  end
151
151
 
@@ -157,7 +157,7 @@ module MetaTags
157
157
  # @param [String] natural_separator natural separator to truncate at.
158
158
  # @return [Array<String>] truncated array of strings.
159
159
  #
160
- def truncate_array(string_array, limit = nil, separator = '', natural_separator = ' ')
160
+ def truncate_array(string_array, limit = nil, separator = "", natural_separator = " ")
161
161
  return string_array if limit.nil? || limit <= 0
162
162
 
163
163
  length = 0
@@ -188,14 +188,14 @@ module MetaTags
188
188
  end
189
189
 
190
190
  def truncate_title(site_title, title, separator)
191
- global_limit = MetaTags.config.title_limit.to_i # rubocop:disable Lint/NumberConversion
191
+ global_limit = MetaTags.config.title_limit.to_i
192
192
  if global_limit > 0
193
193
  site_title_limited_length, title_limited_length = calculate_title_limits(
194
- site_title, title, separator, global_limit,
194
+ site_title, title, separator, global_limit
195
195
  )
196
196
 
197
- title = title_limited_length > 0 ? truncate_array(title, title_limited_length, separator) : []
198
- site_title = site_title_limited_length > 0 ? truncate(site_title, site_title_limited_length) : nil
197
+ title = (title_limited_length > 0) ? truncate_array(title, title_limited_length, separator) : []
198
+ site_title = (site_title_limited_length > 0) ? truncate(site_title, site_title_limited_length) : nil
199
199
  end
200
200
 
201
201
  [site_title, title]
@@ -208,13 +208,13 @@ module MetaTags
208
208
  main_length = main_title.map(&:length).sum + ((main_title.size - 1) * separator.length)
209
209
  main_limited_length = global_limit
210
210
 
211
- secondary_limited_length = global_limit - (main_length > 0 ? main_length + separator.length : 0)
211
+ secondary_limited_length = global_limit - ((main_length > 0) ? main_length + separator.length : 0)
212
212
  secondary_limited_length = [0, secondary_limited_length].max
213
213
 
214
214
  if MetaTags.config.truncate_site_title_first
215
- [ secondary_limited_length, main_limited_length ]
215
+ [secondary_limited_length, main_limited_length]
216
216
  else
217
- [ main_limited_length, secondary_limited_length ]
217
+ [main_limited_length, secondary_limited_length]
218
218
  end
219
219
  end
220
220
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module MetaTags
4
4
  # Gem version.
5
- VERSION = '2.18.0'
5
+ VERSION = "2.19.0"
6
6
  public_constant :VERSION
7
7
  end
@@ -55,7 +55,7 @@ module MetaTags
55
55
  #
56
56
  # @see #display_meta_tags
57
57
  #
58
- def title(title = nil, headline = '')
58
+ def title(title = nil, headline = "")
59
59
  set_meta_tags(title: title) unless title.nil?
60
60
  headline.presence || meta_tags[:title]
61
61
  end
@@ -203,7 +203,7 @@ module MetaTags
203
203
  # <div data-page-container="true" title="<%= display_title title: 'My Page', site: 'PJAX Site' %>">
204
204
  #
205
205
  def display_title(defaults = {})
206
- @meta_tags.full_title(defaults)
206
+ meta_tags.full_title(defaults)
207
207
  end
208
208
  end
209
209
  end
data/lib/meta_tags.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'set'
4
- require 'active_support/core_ext/hash/indifferent_access'
3
+ require "set"
4
+ require "active_support/core_ext/hash/indifferent_access"
5
5
 
6
6
  # MetaTags gem namespace.
7
7
  module MetaTags
@@ -24,15 +24,15 @@ module MetaTags
24
24
  end
25
25
  end
26
26
 
27
- require 'meta_tags/version'
27
+ require "meta_tags/version"
28
28
 
29
- require 'meta_tags/configuration'
30
- require 'meta_tags/controller_helper'
31
- require 'meta_tags/meta_tags_collection'
32
- require 'meta_tags/renderer'
33
- require 'meta_tags/tag'
34
- require 'meta_tags/content_tag'
35
- require 'meta_tags/text_normalizer'
36
- require 'meta_tags/view_helper'
29
+ require "meta_tags/configuration"
30
+ require "meta_tags/controller_helper"
31
+ require "meta_tags/meta_tags_collection"
32
+ require "meta_tags/renderer"
33
+ require "meta_tags/tag"
34
+ require "meta_tags/content_tag"
35
+ require "meta_tags/text_normalizer"
36
+ require "meta_tags/view_helper"
37
37
 
38
- require 'meta_tags/railtie' if defined?(Rails)
38
+ require "meta_tags/railtie" if defined?(Rails)
data/meta-tags.gemspec CHANGED
@@ -1,43 +1,52 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'meta_tags/version'
5
+ require "meta_tags/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "meta-tags"
9
- spec.version = MetaTags::VERSION
10
- spec.authors = ["Dmytro Shteflyuk"]
11
- spec.email = ["kpumuk@kpumuk.info"]
12
-
13
- spec.summary = "Collection of SEO helpers for Ruby on Rails."
14
- spec.description = "Search Engine Optimization (SEO) plugin for Ruby on Rails applications."
15
- spec.homepage = "https://github.com/kpumuk/meta-tags"
16
- spec.license = "MIT"
17
- spec.platform = Gem::Platform::RUBY
18
- spec.required_ruby_version = '>= 2.6.0'
19
-
20
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(\.|(bin|test|spec|features)/)}) }
21
- spec.bindir = "exe"
22
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
8
+ spec.name = "meta-tags"
9
+ spec.version = MetaTags::VERSION
10
+ spec.authors = ["Dmytro Shteflyuk"]
11
+ spec.email = ["kpumuk@kpumuk.info"]
12
+
13
+ spec.summary = "Collection of SEO helpers for Ruby on Rails."
14
+ spec.description = "Search Engine Optimization (SEO) plugin for Ruby on Rails applications."
15
+ spec.homepage = "https://github.com/kpumuk/meta-tags"
16
+ spec.license = "MIT"
17
+ spec.platform = Gem::Platform::RUBY
18
+ spec.required_ruby_version = ">= 2.7.0"
19
+
20
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(\.|(bin|test|spec|features)/)}) }
21
+ spec.bindir = "exe"
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_dependency "actionpack", ">= 3.2.0", "< 7.1"
25
+ spec.add_runtime_dependency "actionpack", ">= 3.2.0", "< 7.2"
26
26
 
27
- spec.add_development_dependency "railties", ">= 3.2.0", "< 7.1"
27
+ spec.add_development_dependency "railties", ">= 3.2.0", "< 7.2"
28
28
  spec.add_development_dependency "rake", "~> 13.0"
29
- spec.add_development_dependency "rspec", "~> 3.11.0"
30
- spec.add_development_dependency "rspec-html-matchers", "~> 0.9.1"
31
-
32
- spec.cert_chain = ["certs/kpumuk.pem"]
33
- spec.signing_key = File.expand_path("~/.ssh/gem-kpumuk.pem") if $PROGRAM_NAME.end_with?('gem')
29
+ spec.add_development_dependency "rspec", "~> 3.12.0"
30
+ spec.add_development_dependency "rspec-html-matchers", "~> 0.10.0"
31
+ spec.add_development_dependency "appraisal", "~> 2.5.0"
32
+ spec.add_development_dependency "simplecov", "~> 0.22.0"
33
+ # Code style
34
+ spec.add_development_dependency "standard", "~> 1.29"
35
+ spec.add_development_dependency "rubocop-rails", "~> 2.20.2"
36
+ spec.add_development_dependency "rubocop-rake", "~> 0.6.0"
37
+ spec.add_development_dependency "rubocop-rspec", "~> 2.23.0"
38
+ # Format RSpec output for CircleCI
39
+ spec.add_development_dependency "rspec_junit_formatter", "~> 0.6.0"
40
+
41
+ spec.cert_chain = ["certs/kpumuk.pem"]
42
+ spec.signing_key = File.expand_path("~/.ssh/gem-kpumuk.pem") if $PROGRAM_NAME.end_with?("gem")
34
43
 
35
44
  spec.metadata = {
36
- "bug_tracker_uri" => "https://github.com/kpumuk/meta-tags/issues/",
37
- "changelog_uri" => "https://github.com/kpumuk/meta-tags/blob/main/CHANGELOG.md",
38
- "documentation_uri" => "https://rubydoc.info/github/kpumuk/meta-tags/",
39
- "homepage_uri" => "https://github.com/kpumuk/meta-tags/",
40
- "source_code_uri" => "https://github.com/kpumuk/meta-tags/",
41
- "rubygems_mfa_required" => "true",
45
+ "bug_tracker_uri" => "https://github.com/kpumuk/meta-tags/issues/",
46
+ "changelog_uri" => "https://github.com/kpumuk/meta-tags/blob/main/CHANGELOG.md",
47
+ "documentation_uri" => "https://rubydoc.info/github/kpumuk/meta-tags/",
48
+ "homepage_uri" => "https://github.com/kpumuk/meta-tags/",
49
+ "source_code_uri" => "https://github.com/kpumuk/meta-tags/",
50
+ "rubygems_mfa_required" => "true"
42
51
  }
43
52
  end
@@ -4,6 +4,8 @@ class ::Hash[unchecked out K, unchecked out V]
4
4
  end
5
5
 
6
6
  class ::Object
7
+ $OFS: String
8
+
7
9
  def presence: () -> self?
8
10
  def blank?: () -> bool
9
11
  def present?: () -> bool
@@ -1,5 +1,6 @@
1
1
  module MetaTags
2
2
  module ControllerHelper : _ActionControllerBase
3
+ @meta_tags: MetaTagsCollection?
3
4
  @page_title: String?
4
5
  @page_description: String?
5
6
  @page_keywords: String? | Array[String]
@@ -1,5 +1,7 @@
1
1
  module MetaTags
2
2
  module ViewHelper : Module, _ActionViewBase
3
+ @meta_tags: MetaTagsCollection?
4
+
3
5
  # type meta_tags = {
4
6
  # site: String?,
5
7
  # title: Array[String] | String?,
@@ -1,4 +1,6 @@
1
1
  module MetaTags
2
+ self.@config: Configuration
3
+
2
4
  def self.config: () -> Configuration
3
5
  def self.configure: () { (Configuration) -> void } -> void
4
6
 
data.tar.gz.sig CHANGED
Binary file