amakanize 0.6.5 → 0.8.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.
Files changed (51) hide show
  1. checksums.yaml +5 -5
  2. data/.github/release.yml +23 -0
  3. data/.github/workflows/bump-request.yml +26 -0
  4. data/.github/workflows/github-label-sync.yml +18 -0
  5. data/.github/workflows/release.yml +12 -0
  6. data/.github/workflows/test.yml +27 -0
  7. data/.gitignore +0 -1
  8. data/.rubocop.yml +3 -73
  9. data/CHANGELOG.md +4 -0
  10. data/Gemfile +7 -1
  11. data/Gemfile.lock +58 -0
  12. data/README.md +2 -4
  13. data/Rakefile +10 -3
  14. data/amakanize.gemspec +13 -15
  15. data/lib/amakanize/author_name.rb +4 -2
  16. data/lib/amakanize/author_names.rb +5 -5
  17. data/lib/amakanize/book_position.rb +4 -2
  18. data/lib/amakanize/filterable.rb +5 -3
  19. data/lib/amakanize/filters/base_filter.rb +2 -0
  20. data/lib/amakanize/filters/book_position_at_end_detection_filter.rb +8 -8
  21. data/lib/amakanize/filters/book_position_clearing_filter.rb +5 -5
  22. data/lib/amakanize/filters/book_position_in_bracket_detection_filter.rb +8 -8
  23. data/lib/amakanize/filters/book_position_in_words_detection_filter.rb +8 -8
  24. data/lib/amakanize/filters/book_position_number_canonicalization_filter.rb +5 -5
  25. data/lib/amakanize/filters/brackets_normalization_filter.rb +4 -2
  26. data/lib/amakanize/filters/continuous_spaces_normalization_filter.rb +4 -2
  27. data/lib/amakanize/filters/dash_between_alphabets_normalization_filter.rb +4 -2
  28. data/lib/amakanize/filters/html_unescape_filter.rb +5 -3
  29. data/lib/amakanize/filters/hyphen_minus_normalization_filter.rb +4 -2
  30. data/lib/amakanize/filters/normalization_filter.rb +4 -3
  31. data/lib/amakanize/filters/obvious_volume_number_deletion_filter.rb +7 -5
  32. data/lib/amakanize/filters/parentheses_deletion_filter.rb +4 -2
  33. data/lib/amakanize/filters/role_name_deletion_filter.rb +9 -7
  34. data/lib/amakanize/filters/space_between_exclamation_and_bracket_deletion_filter.rb +4 -2
  35. data/lib/amakanize/filters/space_deletion_filter.rb +4 -2
  36. data/lib/amakanize/filters/spaces_between_exclamations_deletion_filter.rb +4 -2
  37. data/lib/amakanize/filters/strip_filter.rb +4 -2
  38. data/lib/amakanize/filters/trailing_author_name_payload_deletion_filter.rb +6 -4
  39. data/lib/amakanize/filters/trailing_dash_deletion_filter.rb +6 -4
  40. data/lib/amakanize/filters/trailing_double_parentheses_singlization_filter.rb +6 -4
  41. data/lib/amakanize/filters/trailing_parentheses_deletion_filter.rb +5 -5
  42. data/lib/amakanize/filters/trailing_series_name_payload_deletion_filter.rb +5 -3
  43. data/lib/amakanize/filters/trailing_symbol_deletion_filter.rb +6 -4
  44. data/lib/amakanize/filters/trailing_volume_number_deletion_filter.rb +5 -5
  45. data/lib/amakanize/filters/video_position_detection_filter.rb +10 -9
  46. data/lib/amakanize/filters/video_position_number_conversion_filter.rb +115 -113
  47. data/lib/amakanize/series_name.rb +4 -2
  48. data/lib/amakanize/version.rb +3 -1
  49. data/lib/amakanize/video_position.rb +4 -2
  50. data/lib/amakanize.rb +41 -39
  51. metadata +11 -62
@@ -1,4 +1,6 @@
1
- require "amakanize/filters/base_filter"
1
+ # frozen_string_literal: true
2
+
3
+ require 'amakanize/filters/base_filter'
2
4
 
3
5
  module Amakanize
4
6
  module Filters
@@ -34,125 +36,125 @@ module Amakanize
34
36
  /xxviii/i => 28,
35
37
  /xxix/i => 29,
36
38
  /xxx/i => 30,
37
- "" => 1,
38
- "" => 2,
39
- "" => 3,
40
- "" => 4,
41
- "" => 5,
42
- "" => 6,
43
- "" => 7,
44
- "" => 8,
45
- "" => 9,
46
- "" => 10,
47
- "十一" => 11,
48
- "十二" => 12,
49
- "十三" => 13,
50
- "十四" => 14,
51
- "十五" => 15,
52
- "十六" => 16,
53
- "十七" => 17,
54
- "十八" => 18,
55
- "十九" => 19,
56
- "二十" => 20,
57
- "二十一" => 21,
58
- "二十二" => 22,
59
- "二十三" => 23,
60
- "二十四" => 24,
61
- "二十五" => 25,
62
- "二十六" => 26,
63
- "二十七" => 27,
64
- "二十八" => 28,
65
- "二十九" => 29,
66
- "三十" => 30,
67
- "三十一" => 31,
68
- "三十二" => 32,
69
- "三十三" => 33,
70
- "三十四" => 34,
71
- "三十五" => 35,
72
- "三十六" => 36,
73
- "三十七" => 37,
74
- "三十八" => 38,
75
- "三十九" => 39,
76
- "四十" => 40,
77
- "四十一" => 41,
78
- "四十二" => 42,
79
- "四十三" => 43,
80
- "四十四" => 44,
81
- "四十五" => 45,
82
- "四十六" => 46,
83
- "四十七" => 47,
84
- "四十八" => 48,
85
- "四十九" => 49,
86
- "五十" => 50,
87
- "五十一" => 51,
88
- "五十二" => 52,
89
- "五十三" => 53,
90
- "五十四" => 54,
91
- "五十五" => 55,
92
- "五十六" => 56,
93
- "五十七" => 57,
94
- "五十八" => 58,
95
- "五十九" => 59,
96
- "六十" => 60,
97
- "六十一" => 61,
98
- "六十二" => 62,
99
- "六十三" => 63,
100
- "六十四" => 64,
101
- "六十五" => 65,
102
- "六十六" => 66,
103
- "六十七" => 67,
104
- "六十八" => 68,
105
- "六十九" => 69,
106
- "七十" => 70,
107
- "七十一" => 71,
108
- "七十二" => 72,
109
- "七十三" => 73,
110
- "七十四" => 74,
111
- "七十五" => 75,
112
- "七十六" => 76,
113
- "七十七" => 77,
114
- "七十八" => 78,
115
- "七十九" => 79,
116
- "八十" => 80,
117
- "八十一" => 81,
118
- "八十二" => 82,
119
- "八十三" => 83,
120
- "八十四" => 84,
121
- "八十五" => 85,
122
- "八十六" => 86,
123
- "八十七" => 87,
124
- "八十八" => 88,
125
- "八十九" => 89,
126
- "九十" => 90,
127
- "九十一" => 91,
128
- "九十二" => 92,
129
- "九十三" => 93,
130
- "九十四" => 94,
131
- "九十五" => 95,
132
- "九十六" => 96,
133
- "九十七" => 97,
134
- "九十八" => 98,
135
- "九十九" => 99,
136
- "" => 1,
137
- "" => 2,
138
- "" => 3,
139
- "" => 4,
140
- "" => 5,
141
- "" => 6,
142
- "" => 7,
143
- "" => 8,
144
- "" => 9,
145
- "" => 10,
146
- }
39
+ '' => 1,
40
+ '' => 2,
41
+ '' => 3,
42
+ '' => 4,
43
+ '' => 5,
44
+ '' => 6,
45
+ '' => 7,
46
+ '' => 8,
47
+ '' => 9,
48
+ '' => 10,
49
+ '十一' => 11,
50
+ '十二' => 12,
51
+ '十三' => 13,
52
+ '十四' => 14,
53
+ '十五' => 15,
54
+ '十六' => 16,
55
+ '十七' => 17,
56
+ '十八' => 18,
57
+ '十九' => 19,
58
+ '二十' => 20,
59
+ '二十一' => 21,
60
+ '二十二' => 22,
61
+ '二十三' => 23,
62
+ '二十四' => 24,
63
+ '二十五' => 25,
64
+ '二十六' => 26,
65
+ '二十七' => 27,
66
+ '二十八' => 28,
67
+ '二十九' => 29,
68
+ '三十' => 30,
69
+ '三十一' => 31,
70
+ '三十二' => 32,
71
+ '三十三' => 33,
72
+ '三十四' => 34,
73
+ '三十五' => 35,
74
+ '三十六' => 36,
75
+ '三十七' => 37,
76
+ '三十八' => 38,
77
+ '三十九' => 39,
78
+ '四十' => 40,
79
+ '四十一' => 41,
80
+ '四十二' => 42,
81
+ '四十三' => 43,
82
+ '四十四' => 44,
83
+ '四十五' => 45,
84
+ '四十六' => 46,
85
+ '四十七' => 47,
86
+ '四十八' => 48,
87
+ '四十九' => 49,
88
+ '五十' => 50,
89
+ '五十一' => 51,
90
+ '五十二' => 52,
91
+ '五十三' => 53,
92
+ '五十四' => 54,
93
+ '五十五' => 55,
94
+ '五十六' => 56,
95
+ '五十七' => 57,
96
+ '五十八' => 58,
97
+ '五十九' => 59,
98
+ '六十' => 60,
99
+ '六十一' => 61,
100
+ '六十二' => 62,
101
+ '六十三' => 63,
102
+ '六十四' => 64,
103
+ '六十五' => 65,
104
+ '六十六' => 66,
105
+ '六十七' => 67,
106
+ '六十八' => 68,
107
+ '六十九' => 69,
108
+ '七十' => 70,
109
+ '七十一' => 71,
110
+ '七十二' => 72,
111
+ '七十三' => 73,
112
+ '七十四' => 74,
113
+ '七十五' => 75,
114
+ '七十六' => 76,
115
+ '七十七' => 77,
116
+ '七十八' => 78,
117
+ '七十九' => 79,
118
+ '八十' => 80,
119
+ '八十一' => 81,
120
+ '八十二' => 82,
121
+ '八十三' => 83,
122
+ '八十四' => 84,
123
+ '八十五' => 85,
124
+ '八十六' => 86,
125
+ '八十七' => 87,
126
+ '八十八' => 88,
127
+ '八十九' => 89,
128
+ '九十' => 90,
129
+ '九十一' => 91,
130
+ '九十二' => 92,
131
+ '九十三' => 93,
132
+ '九十四' => 94,
133
+ '九十五' => 95,
134
+ '九十六' => 96,
135
+ '九十七' => 97,
136
+ '九十八' => 98,
137
+ '九十九' => 99,
138
+ '' => 1,
139
+ '' => 2,
140
+ '' => 3,
141
+ '' => 4,
142
+ '' => 5,
143
+ '' => 6,
144
+ '' => 7,
145
+ '' => 8,
146
+ '' => 9,
147
+ '' => 10
148
+ }.freeze
147
149
 
148
150
  # @note Override
149
151
  def call(context:, output:)
150
152
  output = TABLE.to_a.reverse.each_with_object(output.clone) do |(key, value), result|
151
- result.gsub!(key, value.to_s)
153
+ result.gsub(key, value.to_s)
152
154
  end
153
155
  {
154
156
  context: context,
155
- output: output,
157
+ output: output
156
158
  }
157
159
  end
158
160
  end
@@ -1,4 +1,6 @@
1
- require "amakanize/filterable"
1
+ # frozen_string_literal: true
2
+
3
+ require 'amakanize/filterable'
2
4
 
3
5
  module Amakanize
4
6
  class SeriesName
@@ -23,7 +25,7 @@ module Amakanize
23
25
  ::Amakanize::Filters::TrailingSeriesNamePayloadDeletionFilter,
24
26
  ::Amakanize::Filters::TrailingVolumeNumberDeletionFilter,
25
27
  ::Amakanize::Filters::TrailingSeriesNamePayloadDeletionFilter,
26
- ::Amakanize::Filters::TrailingSymbolDeletionFilter,
28
+ ::Amakanize::Filters::TrailingSymbolDeletionFilter
27
29
  ]
28
30
  end
29
31
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Amakanize
2
- VERSION = "0.6.5"
4
+ VERSION = '0.8.0'
3
5
  end
@@ -1,4 +1,6 @@
1
- require "amakanize/filterable"
1
+ # frozen_string_literal: true
2
+
3
+ require 'amakanize/filterable'
2
4
 
3
5
  module Amakanize
4
6
  class VideoPosition
@@ -15,7 +17,7 @@ module Amakanize
15
17
  ::Amakanize::Filters::DashBetweenAlphabetsNormalizationFilter,
16
18
  ::Amakanize::Filters::BracketsNormalizationFilter,
17
19
  ::Amakanize::Filters::VideoPositionDetectionFilter,
18
- ::Amakanize::Filters::VideoPositionNumberConversionFilter,
20
+ ::Amakanize::Filters::VideoPositionNumberConversionFilter
19
21
  ]
20
22
  end
21
23
  end
data/lib/amakanize.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Amakanize
2
4
  PATTERN_OF_NUMERIC_CHARACTERS = /
3
5
  \d+(?:\.\d+)?
@@ -20,7 +22,7 @@ module Amakanize
20
22
  |中
21
23
  |前
22
24
  |(?<!放課)後
23
- /x
25
+ /x.freeze
24
26
 
25
27
  PATTERN_OF_PREFIX_OF_BOOK_POSITION = /
26
28
  \#\s*
@@ -31,13 +33,13 @@ module Amakanize
31
33
  |その\s*
32
34
  |巻(?:の|ノ|之)?\s*
33
35
  |第\s*
34
- /ix
36
+ /ix.freeze
35
37
 
36
38
  PATTERN_OF_SUFFIX_OF_BOOK_POSITION = /
37
39
  \s*話
38
40
  |\s*巻
39
41
  |\s*版
40
- /x
42
+ /x.freeze
41
43
 
42
44
  PATTERN_OF_VOLUME_PREFIX = /
43
45
  episode\.?\s*
@@ -49,41 +51,41 @@ module Amakanize
49
51
  |VOL(?:UME)?\.?\s*
50
52
  |その\s*
51
53
  |第\s*
52
- /x
54
+ /x.freeze
53
55
  end
54
56
 
55
- require "amakanize/author_name"
56
- require "amakanize/author_names"
57
- require "amakanize/book_position"
58
- require "amakanize/filterable"
59
- require "amakanize/filters/base_filter"
60
- require "amakanize/filters/book_position_at_end_detection_filter"
61
- require "amakanize/filters/book_position_clearing_filter"
62
- require "amakanize/filters/book_position_in_bracket_detection_filter"
63
- require "amakanize/filters/book_position_in_words_detection_filter"
64
- require "amakanize/filters/book_position_number_canonicalization_filter"
65
- require "amakanize/filters/brackets_normalization_filter"
66
- require "amakanize/filters/continuous_spaces_normalization_filter"
67
- require "amakanize/filters/dash_between_alphabets_normalization_filter"
68
- require "amakanize/filters/html_unescape_filter"
69
- require "amakanize/filters/hyphen_minus_normalization_filter"
70
- require "amakanize/filters/normalization_filter"
71
- require "amakanize/filters/obvious_volume_number_deletion_filter"
72
- require "amakanize/filters/parentheses_deletion_filter"
73
- require "amakanize/filters/role_name_deletion_filter"
74
- require "amakanize/filters/space_between_exclamation_and_bracket_deletion_filter"
75
- require "amakanize/filters/space_deletion_filter"
76
- require "amakanize/filters/spaces_between_exclamations_deletion_filter"
77
- require "amakanize/filters/strip_filter"
78
- require "amakanize/filters/trailing_author_name_payload_deletion_filter"
79
- require "amakanize/filters/trailing_dash_deletion_filter"
80
- require "amakanize/filters/trailing_double_parentheses_singlization_filter"
81
- require "amakanize/filters/trailing_parentheses_deletion_filter"
82
- require "amakanize/filters/trailing_series_name_payload_deletion_filter"
83
- require "amakanize/filters/trailing_symbol_deletion_filter"
84
- require "amakanize/filters/trailing_volume_number_deletion_filter"
85
- require "amakanize/filters/video_position_detection_filter"
86
- require "amakanize/filters/video_position_number_conversion_filter"
87
- require "amakanize/series_name"
88
- require "amakanize/version"
89
- require "amakanize/video_position"
57
+ require 'amakanize/author_name'
58
+ require 'amakanize/author_names'
59
+ require 'amakanize/book_position'
60
+ require 'amakanize/filterable'
61
+ require 'amakanize/filters/base_filter'
62
+ require 'amakanize/filters/book_position_at_end_detection_filter'
63
+ require 'amakanize/filters/book_position_clearing_filter'
64
+ require 'amakanize/filters/book_position_in_bracket_detection_filter'
65
+ require 'amakanize/filters/book_position_in_words_detection_filter'
66
+ require 'amakanize/filters/book_position_number_canonicalization_filter'
67
+ require 'amakanize/filters/brackets_normalization_filter'
68
+ require 'amakanize/filters/continuous_spaces_normalization_filter'
69
+ require 'amakanize/filters/dash_between_alphabets_normalization_filter'
70
+ require 'amakanize/filters/html_unescape_filter'
71
+ require 'amakanize/filters/hyphen_minus_normalization_filter'
72
+ require 'amakanize/filters/normalization_filter'
73
+ require 'amakanize/filters/obvious_volume_number_deletion_filter'
74
+ require 'amakanize/filters/parentheses_deletion_filter'
75
+ require 'amakanize/filters/role_name_deletion_filter'
76
+ require 'amakanize/filters/space_between_exclamation_and_bracket_deletion_filter'
77
+ require 'amakanize/filters/space_deletion_filter'
78
+ require 'amakanize/filters/spaces_between_exclamations_deletion_filter'
79
+ require 'amakanize/filters/strip_filter'
80
+ require 'amakanize/filters/trailing_author_name_payload_deletion_filter'
81
+ require 'amakanize/filters/trailing_dash_deletion_filter'
82
+ require 'amakanize/filters/trailing_double_parentheses_singlization_filter'
83
+ require 'amakanize/filters/trailing_parentheses_deletion_filter'
84
+ require 'amakanize/filters/trailing_series_name_payload_deletion_filter'
85
+ require 'amakanize/filters/trailing_symbol_deletion_filter'
86
+ require 'amakanize/filters/trailing_volume_number_deletion_filter'
87
+ require 'amakanize/filters/video_position_detection_filter'
88
+ require 'amakanize/filters/video_position_number_conversion_filter'
89
+ require 'amakanize/series_name'
90
+ require 'amakanize/version'
91
+ require 'amakanize/video_position'
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amakanize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-13 00:00:00.000000000 Z
11
+ date: 2022-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: activesupport
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -38,48 +24,6 @@ dependencies:
38
24
  - - ">="
39
25
  - !ruby/object:Gem::Version
40
26
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '10.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '10.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 3.5.0
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '='
67
- - !ruby/object:Gem::Version
68
- version: 3.5.0
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 0.44.1
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
82
- version: 0.44.1
83
27
  description:
84
28
  email:
85
29
  - r7kamura@gmail.com
@@ -87,11 +31,17 @@ executables: []
87
31
  extensions: []
88
32
  extra_rdoc_files: []
89
33
  files:
34
+ - ".github/release.yml"
35
+ - ".github/workflows/bump-request.yml"
36
+ - ".github/workflows/github-label-sync.yml"
37
+ - ".github/workflows/release.yml"
38
+ - ".github/workflows/test.yml"
90
39
  - ".gitignore"
91
40
  - ".rspec"
92
41
  - ".rubocop.yml"
93
42
  - CHANGELOG.md
94
43
  - Gemfile
44
+ - Gemfile.lock
95
45
  - LICENSE.txt
96
46
  - README.md
97
47
  - Rakefile
@@ -144,16 +94,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
94
  requirements:
145
95
  - - ">="
146
96
  - !ruby/object:Gem::Version
147
- version: 2.2.2
97
+ version: '2.7'
148
98
  required_rubygems_version: !ruby/object:Gem::Requirement
149
99
  requirements:
150
100
  - - ">="
151
101
  - !ruby/object:Gem::Version
152
102
  version: '0'
153
103
  requirements: []
154
- rubyforge_project:
155
- rubygems_version: 2.6.11
104
+ rubygems_version: 3.3.26
156
105
  signing_key:
157
106
  specification_version: 4
158
- summary: Utilities to canonicalize series names and author names.
107
+ summary: Utilities to canonicalize Japanese comic series names and author names.
159
108
  test_files: []