page_title_helper 5.0.0 → 7.0.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: 83ca84d323ad19f09e49b6ee6333f2cd3c06f0e2e3f8748b8081a204fdebc4ac
4
- data.tar.gz: 4c9affff4ee6f51d0dfccb906ec4406e5a50032da651fcc92be19603368741e0
3
+ metadata.gz: 04daa53a694a90fb6e300b8ee3a7f5c607325b1da3fb491ee832a0fa166e78a7
4
+ data.tar.gz: 26223b83b2be0131c1473a39b17bee8fbc3088c7ac0f44595e52fa9429d90197
5
5
  SHA512:
6
- metadata.gz: 19879f1e33647398e8d15ee0b3adbaacd29a6645fd89b33838fddf11f469a577abf2467a368f6b352e61ad4db8fc71f0ac4f5e918112b16c59ab84751bfca0a2
7
- data.tar.gz: c28883f1bd9cefd68c8f121b4caced4bd946ffec08d5e10f4e33f8a6008ed825132886362b97afa36a642ce05e02b22182899743daeb56515962e24ac9e51fdd
6
+ metadata.gz: 244e71837c6c6a105a07768112a8c332c402b6ab29ba5e85aff32558ce13fd581593c955745024d70b28c7fb73b0f40e5a6086a30aca93bf38ede913f6ccc6a6
7
+ data.tar.gz: d1e1ab3f16c1a7f753d62670b0df07dc17670e267fe08340eb4be8fec7c4df316fc9ad4139acd28e13bdf3f2c3722d81965e09c5ef38324466e0616a77dabeec
data/CHANGELOG.md CHANGED
@@ -20,6 +20,29 @@ about why a change log is important.
20
20
 
21
21
  ### Security
22
22
 
23
+ ## 7.0.0
24
+
25
+ ### Added
26
+ - Add support for Rails 7.1 (#166)
27
+ - Add official support for Ruby 3.2 (#157)
28
+
29
+ ### Removed
30
+ - Drop support for Rails 6.0 (#168)
31
+ - Drop support for Rails 5.2 (#164)
32
+ - Drop support for Ruby 2.7 (#163)
33
+
34
+ ## 6.0.0
35
+
36
+ ### Added
37
+ - Add support for Rails 7.0 (#131)
38
+ - Add support for Ruby 3.1 (#143)
39
+
40
+ ### Removed
41
+ - Drop support for Ruby 2.5 and 2.6 (#127, #145)
42
+
43
+ ### Fixed
44
+ - Avoid modifying a frozen array in Ruby 3 (#135)
45
+
23
46
  ## 5.0.0
24
47
 
25
48
  ### Added
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PageTitleHelper
4
- VERSION = '5.0.0'
4
+ VERSION = '7.0.0'
5
5
  end
@@ -7,7 +7,7 @@
7
7
  # Copyright:: Copyright (c) 2009 Lukas Westermann (Zurich, Switzerland)
8
8
  # Licence:: MIT-Licence (https://www.opensource.org/licenses/mit-license.php)
9
9
  #
10
- # See documentation for +page_title+ for usage examples and more informations.
10
+ # See documentation for +page_title+ for usage examples and more information.
11
11
  require 'active_support'
12
12
 
13
13
  # PageTitleHelper
@@ -25,7 +25,7 @@ module PageTitleHelper
25
25
  end
26
26
 
27
27
  def app(env)
28
- env[:app] || I18n.translate('app.name', default: File.basename(Rails.root).humanize)
28
+ env[:app] || I18n.t('app.name', default: File.basename(Rails.root).humanize)
29
29
  end
30
30
 
31
31
  def title(env)
@@ -69,18 +69,13 @@ module PageTitleHelper
69
69
  options[:format] ||= :title # handles :format => false
70
70
  options.assert_valid_keys(:app, :default, :format)
71
71
 
72
- # read page title and split into 'real' title and customized format
73
- title = @_page_title ||= page_title_from_translation(options[:default])
74
- title, options[:format] = *(title << options[:format]) if title.is_a?(Array)
72
+ format, real_title = build_title_and_format(options)
75
73
 
76
74
  # handle format aliases
77
- format = options.delete(:format)
78
- if PageTitleHelper.formats.include?(format)
79
- format = PageTitleHelper.formats[format]
80
- end
75
+ format = PageTitleHelper.formats[format] if PageTitleHelper.formats.include?(format)
81
76
 
82
77
  # construct basic env to pass around
83
- env = { title: title, app: options.delete(:app), options: options, view: self }
78
+ env = { title: real_title, app: options[:app], options: options, view: self }
84
79
 
85
80
  # interpolate format
86
81
  Interpolations.interpolate(format, env)
@@ -100,7 +95,30 @@ module PageTitleHelper
100
95
  keys << :"#{base}.title"
101
96
  keys << default
102
97
 
103
- I18n.translate(keys.shift, default: keys)
98
+ I18n.t(keys.shift, default: keys)
99
+ end
100
+
101
+ private
102
+
103
+ ##
104
+ # Read the page title and splits it into 'real' title and the customized
105
+ # format.
106
+ #
107
+ # @param {Hash} options
108
+ #
109
+ # @return {Array}
110
+ #
111
+ def build_title_and_format(options)
112
+ raw_title = @_page_title ||= page_title_from_translation(options[:default])
113
+ if raw_title.is_a?(Array)
114
+ title_and_format = raw_title + [options[:format]]
115
+ real_title, format = *title_and_format
116
+ else
117
+ real_title = raw_title
118
+ format = options[:format]
119
+ end
120
+
121
+ [format, real_title]
104
122
  end
105
123
  end
106
124
 
@@ -1,5 +1,4 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path('../lib', __FILE__)
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
3
2
  require 'page_title_helper/version'
4
3
 
5
4
  Gem::Specification.new do |s|
@@ -9,22 +8,24 @@ Gem::Specification.new do |s|
9
8
  s.summary = 'Simple, internationalized and DRY page titles and headings for Rails.'
10
9
  s.description = 'Simple, internationalized and DRY page titles and headings for Rails.'
11
10
 
12
- s.required_ruby_version = '>= 2.5.0'
11
+ s.required_ruby_version = '>= 3.0.0'
13
12
 
14
13
  s.authors = ['Lukas Westermann']
15
14
  s.email = ['lukas.westermann@gmail.com']
16
15
  s.homepage = 'https://github.com/lwe/page_title_helper'
17
16
 
18
- s.files = %w{Gemfile LICENSE README.md CODE_OF_CONDUCT.md CHANGELOG.md Rakefile page_title_helper.gemspec} + Dir['**/*.{rb,yml}']
17
+ s.files = %w[Gemfile LICENSE README.md CODE_OF_CONDUCT.md CHANGELOG.md Rakefile
18
+ page_title_helper.gemspec] + Dir['**/*.{rb,yml}']
19
19
  s.test_files = s.files.grep(%r{^(test|spec)/})
20
20
  s.require_path = 'lib'
21
21
 
22
22
  s.license = 'MIT'
23
23
 
24
- s.add_dependency 'rails', '>= 5.2.0', '< 6.2'
24
+ s.add_dependency 'rails', '>= 6.1.0', '< 7.2'
25
25
 
26
- s.add_development_dependency 'rake', '>= 10.3.2'
27
- s.add_development_dependency 'shoulda'
28
- s.add_development_dependency 'rubocop', '~> 0.82.0'
29
- s.add_development_dependency 'rubocop-rails', '~> 2.5.2'
26
+ s.add_development_dependency 'rake', '~> 13.0.6'
27
+ s.add_development_dependency 'rubocop', '~> 1.56.4'
28
+ s.add_development_dependency 'rubocop-rails', '~> 2.21.2'
29
+ s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
30
+ s.add_development_dependency 'shoulda', '~> 4.0.0'
30
31
  end
@@ -47,7 +47,8 @@ class MultipleFormatsTest < ActiveSupport::TestCase
47
47
 
48
48
  should 'override locally supplied :format arguments' do
49
49
  assert_equal('Something', @view.page_title { ['Something', '* * * :title * * *'] })
50
- assert_equal '* * * Something * * *', @view.page_title(format: '-= :title =-') # yeah, using x-tra ugly titles :)
50
+ # yeah, using x-tra ugly titles :)
51
+ assert_equal '* * * Something * * *', @view.page_title(format: '-= :title =-')
51
52
  end
52
53
  end
53
54
  end
@@ -60,7 +61,7 @@ class MultipleFormatsTest < ActiveSupport::TestCase
60
61
  @view = TestView.new
61
62
  end
62
63
 
63
- should 'allow to overide format through YAML' do
64
+ should 'allow to override format through YAML' do
64
65
  @view.controller! 'pages', 'features'
65
66
  assert_equal 'Wohaapp > Feature comparison', @view.page_title
66
67
  end
@@ -32,7 +32,9 @@ class PageTitleHelperTest < ActiveSupport::TestCase
32
32
  PageTitleHelper.interpolates(:foobar_test) { |_env| 'foobar_test' }
33
33
  PageTitleHelper.interpolates(:title_foobar) { |_env| 'title_foobar' }
34
34
 
35
- assert_equal 'title_foobar / foobar_test / foobar / foobar_x', PageTitleHelper::Interpolations.interpolate(':title_foobar / :foobar_test / :foobar / :foobar_x', {})
35
+ assert_equal 'title_foobar / foobar_test / foobar / foobar_x',
36
+ PageTitleHelper::Interpolations.interpolate(':title_foobar / :foobar_test / :foobar / :foobar_x',
37
+ {})
36
38
  end
37
39
  end
38
40
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page_title_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Westermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-19 00:00:00.000000000 Z
11
+ date: 2023-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,76 +16,90 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.0
19
+ version: 6.1.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.2'
22
+ version: '7.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 5.2.0
29
+ version: 6.1.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.2'
32
+ version: '7.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 10.3.2
39
+ version: 13.0.6
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 10.3.2
46
+ version: 13.0.6
47
47
  - !ruby/object:Gem::Dependency
48
- name: shoulda
48
+ name: rubocop
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: 1.56.4
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0'
60
+ version: 1.56.4
61
61
  - !ruby/object:Gem::Dependency
62
- name: rubocop
62
+ name: rubocop-rails
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 0.82.0
67
+ version: 2.21.2
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 0.82.0
74
+ version: 2.21.2
75
75
  - !ruby/object:Gem::Dependency
76
- name: rubocop-rails
76
+ name: rubocop-rake
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.6.0
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 0.6.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: shoulda
77
91
  requirement: !ruby/object:Gem::Requirement
78
92
  requirements:
79
93
  - - "~>"
80
94
  - !ruby/object:Gem::Version
81
- version: 2.5.2
95
+ version: 4.0.0
82
96
  type: :development
83
97
  prerelease: false
84
98
  version_requirements: !ruby/object:Gem::Requirement
85
99
  requirements:
86
100
  - - "~>"
87
101
  - !ruby/object:Gem::Version
88
- version: 2.5.2
102
+ version: 4.0.0
89
103
  description: Simple, internationalized and DRY page titles and headings for Rails.
90
104
  email:
91
105
  - lukas.westermann@gmail.com
@@ -119,14 +133,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
133
  requirements:
120
134
  - - ">="
121
135
  - !ruby/object:Gem::Version
122
- version: 2.5.0
136
+ version: 3.0.0
123
137
  required_rubygems_version: !ruby/object:Gem::Requirement
124
138
  requirements:
125
139
  - - ">="
126
140
  - !ruby/object:Gem::Version
127
141
  version: '0'
128
142
  requirements: []
129
- rubygems_version: 3.2.3
143
+ rubygems_version: 3.4.10
130
144
  signing_key:
131
145
  specification_version: 4
132
146
  summary: Simple, internationalized and DRY page titles and headings for Rails.