amakanize 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +84 -0
- data/CHANGELOG.md +70 -33
- data/Gemfile +2 -2
- data/Rakefile +1 -1
- data/amakanize.gemspec +1 -0
- data/lib/amakanize.rb +1 -0
- data/lib/amakanize/filters/brackets_normalization_filter.rb +1 -1
- data/lib/amakanize/filters/hyphen_minus_normalization_filter.rb +1 -1
- data/lib/amakanize/filters/obvious_volume_number_deletion_filter.rb +1 -1
- data/lib/amakanize/filters/role_name_deletion_filter.rb +2 -2
- data/lib/amakanize/filters/trailing_double_parentheses_singlization_filter.rb +17 -0
- data/lib/amakanize/series_name.rb +1 -0
- data/lib/amakanize/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4e68f4d1e10ede5f0c237c72a4c9bf653bc097d
|
4
|
+
data.tar.gz: 9aaa7fdc525426165d53e47677904b04778804b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3e9f080e1759b1b8c96c43b9c986f2c4a1c1e6fac52ad7c008fb27e2c9b3764068789fdb29904920255092711c5284c1c63255d1741338b533eb87df5438d24
|
7
|
+
data.tar.gz: d0f4c4eef8b73b2888b5b821e55927f59e64deda6b7850e7154ede0d26c11699c62b837e496eb8f45cbb143a9928062440147c7556c5bc4b7ad8e82844e8a8de
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- db/**/*
|
4
|
+
- node_modules/**/*
|
5
|
+
- vendor/**/*
|
6
|
+
TargetRubyVersion: 2.2
|
7
|
+
|
8
|
+
AsciiComments:
|
9
|
+
Enabled: false
|
10
|
+
|
11
|
+
Lint/HandleExceptions:
|
12
|
+
Enabled: false
|
13
|
+
|
14
|
+
Lint/UnusedBlockArgument:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
Lint/UnusedMethodArgument:
|
18
|
+
Enabled: false
|
19
|
+
|
20
|
+
Metrics/AbcSize:
|
21
|
+
Enabled: false
|
22
|
+
|
23
|
+
Metrics/ClassLength:
|
24
|
+
Enabled: false
|
25
|
+
|
26
|
+
Metrics/CyclomaticComplexity:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
Metrics/LineLength:
|
30
|
+
Enabled: false
|
31
|
+
|
32
|
+
Metrics/MethodLength:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
Metrics/ParameterLists:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
Metrics/PerceivedComplexity:
|
39
|
+
Max: 10
|
40
|
+
|
41
|
+
Style/AccessModifierIndentation:
|
42
|
+
Enabled: false
|
43
|
+
|
44
|
+
Style/Documentation:
|
45
|
+
Enabled: false
|
46
|
+
|
47
|
+
Style/DoubleNegation:
|
48
|
+
Enabled: false
|
49
|
+
|
50
|
+
Style/GuardClause:
|
51
|
+
Enabled: false
|
52
|
+
|
53
|
+
Style/IfUnlessModifier:
|
54
|
+
Enabled: false
|
55
|
+
|
56
|
+
Style/MultilineBlockChain:
|
57
|
+
Enabled: false
|
58
|
+
|
59
|
+
Style/MultilineMethodCallIndentation:
|
60
|
+
Enabled: false
|
61
|
+
|
62
|
+
Style/MutableConstant:
|
63
|
+
Enabled: false
|
64
|
+
|
65
|
+
Style/Next:
|
66
|
+
Enabled: false
|
67
|
+
|
68
|
+
Style/PercentLiteralDelimiters:
|
69
|
+
Enabled: false
|
70
|
+
|
71
|
+
Style/PredicateName:
|
72
|
+
Enabled: false
|
73
|
+
|
74
|
+
Style/SpaceAroundOperators:
|
75
|
+
Enabled: false
|
76
|
+
|
77
|
+
Style/StringLiterals:
|
78
|
+
EnforcedStyle: double_quotes
|
79
|
+
|
80
|
+
Style/TrailingCommaInArguments:
|
81
|
+
Enabled: false
|
82
|
+
|
83
|
+
Style/TrailingCommaInLiteral:
|
84
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,114 +1,151 @@
|
|
1
|
-
##
|
1
|
+
## v0.5.2
|
2
|
+
|
3
|
+
- Support nested parentheses
|
4
|
+
|
5
|
+
## v0.5.1
|
6
|
+
|
2
7
|
- Detect アフタヌーン from アフタヌーン 2016年 05 月号
|
3
8
|
|
4
|
-
##
|
9
|
+
## v0.5.0
|
10
|
+
|
5
11
|
- Remove volume number only one time
|
6
12
|
- Normalize continuous spaces
|
7
13
|
|
8
|
-
##
|
14
|
+
## v0.4.9
|
15
|
+
|
9
16
|
- Fix a bug in the brackets normalization logic
|
10
17
|
|
11
|
-
##
|
18
|
+
## v0.4.8
|
19
|
+
|
12
20
|
- Treat カバーデザイン as role name
|
13
21
|
|
14
|
-
##
|
22
|
+
## v0.4.7
|
23
|
+
|
15
24
|
- Support "Buso Renkin, Vol. 5"
|
16
25
|
|
17
|
-
##
|
26
|
+
## v0.4.6
|
27
|
+
|
18
28
|
- Treat (キャラクター原案)ハラカズヒロ as ハラカズヒロ
|
19
29
|
- Normalize 「x! 」 into 「x!」
|
20
30
|
|
21
|
-
##
|
31
|
+
## v0.4.5
|
32
|
+
|
22
33
|
- Support 2016年04月号 for magazines
|
23
34
|
|
24
|
-
##
|
35
|
+
## v0.4.4
|
36
|
+
|
25
37
|
- Support (前) (後) (上) (中) (下)
|
26
38
|
|
27
|
-
##
|
39
|
+
## v0.4.3
|
40
|
+
|
28
41
|
- Support (原作・イラスト)XXX
|
29
42
|
- Support イラスト:XXX
|
30
43
|
|
31
|
-
##
|
44
|
+
## v0.4.2
|
45
|
+
|
32
46
|
- Support #5
|
33
47
|
|
34
|
-
##
|
48
|
+
## v0.4.1
|
49
|
+
|
35
50
|
- Support Vol.3
|
36
51
|
- Support 3 通常版
|
37
52
|
- Support 7.5
|
38
53
|
|
39
|
-
##
|
54
|
+
## v0.4.0
|
55
|
+
|
40
56
|
- Add spaces around brackets except for ending
|
41
57
|
- Treat `―XXX―` as brackets (e.g. To LOVEる―とらぶる―)
|
42
58
|
|
43
|
-
##
|
59
|
+
## v0.3.0
|
60
|
+
|
44
61
|
- Normalize all brackets into round brackets (parentheses)
|
45
62
|
- Removes only trailing brackets
|
46
63
|
|
47
|
-
##
|
64
|
+
## v0.2.2
|
65
|
+
|
48
66
|
- Support volume N
|
49
67
|
|
50
|
-
##
|
68
|
+
## v0.2.1
|
69
|
+
|
51
70
|
- Normalize angle brackets
|
52
71
|
- Remove trailing LvN and Lv.N as volume number
|
53
72
|
- Fix volume number detection pattern
|
54
73
|
|
55
|
-
##
|
74
|
+
## v0.2.0
|
75
|
+
|
56
76
|
- Fix author name separator
|
57
77
|
|
58
|
-
##
|
78
|
+
## v0.1.12
|
79
|
+
|
59
80
|
- Support 第N版
|
60
81
|
|
61
|
-
##
|
82
|
+
## v0.1.11
|
83
|
+
|
62
84
|
- Improve volume detection for アニウッド大通り
|
63
85
|
|
64
|
-
##
|
86
|
+
## v0.1.10
|
87
|
+
|
65
88
|
- Detect obvious volume number in product title
|
66
89
|
|
67
|
-
##
|
90
|
+
## v0.1.9
|
91
|
+
|
68
92
|
- Normalize hyphen with hyphen/minus
|
69
93
|
|
70
|
-
##
|
94
|
+
## v0.1.8
|
95
|
+
|
71
96
|
- Normalize hyphen between alphabets in series name
|
72
97
|
|
73
|
-
##
|
98
|
+
## v0.1.7
|
99
|
+
|
74
100
|
- Remove trailing surrounding hyphens and payload on series name
|
75
101
|
|
76
|
-
##
|
102
|
+
## v0.1.6
|
103
|
+
|
77
104
|
- Remove trailing dash and payload on series name
|
78
105
|
|
79
|
-
##
|
106
|
+
## v0.1.5
|
107
|
+
|
80
108
|
- Remove spaces between exclamations for 「ばくおん! !」
|
81
109
|
|
82
|
-
##
|
110
|
+
## v0.1.4
|
111
|
+
|
83
112
|
- Add more author name separator
|
84
113
|
- Remove suffix role name
|
85
114
|
|
86
|
-
##
|
115
|
+
## v0.1.3
|
116
|
+
|
87
117
|
- Remove trailing 原作・原案・漫画 of author name
|
88
118
|
|
89
|
-
##
|
119
|
+
## v0.1.2
|
120
|
+
|
90
121
|
- Add AuthorNames class
|
91
122
|
|
92
|
-
##
|
123
|
+
## v0.1.1
|
124
|
+
|
93
125
|
- Support x and X as roman numeric
|
94
126
|
|
95
|
-
##
|
127
|
+
## v0.1.0
|
128
|
+
|
96
129
|
- Support roman numerals on series name
|
97
130
|
- Support 第N巻 on series name
|
98
131
|
- Normalize series name
|
99
132
|
|
100
|
-
##
|
133
|
+
## v0.0.4
|
134
|
+
|
101
135
|
- Normalize all characters
|
102
136
|
|
103
|
-
##
|
137
|
+
## v0.0.3
|
138
|
+
|
104
139
|
- Remove space from author name
|
105
140
|
|
106
|
-
##
|
141
|
+
## v0.0.2
|
142
|
+
|
107
143
|
- Remove parentheses of numericals in author name
|
108
144
|
- Remove role name from author name
|
109
145
|
- Remove trailing payload from author name
|
110
146
|
- Strip author name
|
111
147
|
- Unescape HTML in author name
|
112
148
|
|
113
|
-
##
|
149
|
+
## v0.0.1
|
150
|
+
|
114
151
|
- 1st release :tada:
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/amakanize.gemspec
CHANGED
data/lib/amakanize.rb
CHANGED
@@ -52,6 +52,7 @@ require "amakanize/filters/spaces_between_exclamations_deletion_filter"
|
|
52
52
|
require "amakanize/filters/strip_filter"
|
53
53
|
require "amakanize/filters/trailing_author_name_payload_deletion_filter"
|
54
54
|
require "amakanize/filters/trailing_dash_deletion_filter"
|
55
|
+
require "amakanize/filters/trailing_double_parentheses_singlization_filter"
|
55
56
|
require "amakanize/filters/trailing_parentheses_deletion_filter"
|
56
57
|
require "amakanize/filters/trailing_series_name_payload_deletion_filter"
|
57
58
|
require "amakanize/filters/trailing_volume_number_deletion_filter"
|
@@ -33,7 +33,7 @@ module Amakanize
|
|
33
33
|
output: PAIRS.each_with_object(output) do |(open, close), result|
|
34
34
|
result.gsub!(/#{open}([^\(]+?)#{close}/, '(\1)')
|
35
35
|
end.gsub(/\s*\((.+?)\)(?:\z|(\s*))/) do
|
36
|
-
" \(#{
|
36
|
+
" \(#{::Regexp.last_match(1)})#{' ' if Regexp.last_match(2)}"
|
37
37
|
end
|
38
38
|
}
|
39
39
|
end
|
@@ -7,7 +7,7 @@ module Amakanize
|
|
7
7
|
/\s+#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}\s+.*/,
|
8
8
|
/\s+Lv\.?\s*#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}(?:\s+.*|\z)/,
|
9
9
|
/\s*\(#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}?#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}\).*/,
|
10
|
-
|
10
|
+
%r<\s*\d+年\s*\d+\s*(?:月|/\d+\s*)号.*>,
|
11
11
|
/\s*\d{4}\s*(?:AUTUMN|SPRING|SUMMER|WINTER)/,
|
12
12
|
)
|
13
13
|
|
@@ -21,8 +21,8 @@ module Amakanize
|
|
21
21
|
output: output
|
22
22
|
.gsub(%r<\A#{PATTERN_OF_ROLE_NAME}[:/]>, "")
|
23
23
|
.gsub(%r<[:/]#{PATTERN_OF_ROLE_NAME}\z>, "")
|
24
|
-
.gsub(
|
25
|
-
.gsub(
|
24
|
+
.gsub(/\A\(#{PATTERN_OF_ROLE_NAME}(?:・#{PATTERN_OF_ROLE_NAME})*\)/, "")
|
25
|
+
.gsub(/\(#{PATTERN_OF_ROLE_NAME}(?:・#{PATTERN_OF_ROLE_NAME})*\)\z/, ""),
|
26
26
|
}
|
27
27
|
end
|
28
28
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Amakanize
|
2
|
+
module Filters
|
3
|
+
class TrailingDoubleParenthesesSinglizationFilter < BaseFilter
|
4
|
+
# @note Override
|
5
|
+
# @param output [String] e.g. `"ヒナまつり 11 (ヒナまつり) (ビームコミックス(ハルタ) )"`
|
6
|
+
# @return [Hash] e.g. `"ヒナまつり 11 (ヒナまつり) (ビームコミックスハルタ )"`
|
7
|
+
def call(context:, output:)
|
8
|
+
{
|
9
|
+
context: context,
|
10
|
+
output: output.sub(/\([^\(^\)]+?\([^\(]+?\)[^\)^\(]+?\)\z/) do
|
11
|
+
"(" + $&.gsub(/[\(\)]/, "") + ")"
|
12
|
+
end,
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -13,6 +13,7 @@ module Amakanize
|
|
13
13
|
::Amakanize::Filters::SpacesBetweenExclamationsDeletionFilter,
|
14
14
|
::Amakanize::Filters::SpaceBetweenExclamationAndBracketDeletionFilter,
|
15
15
|
::Amakanize::Filters::ObviousVolumeNumberDeletionFilter,
|
16
|
+
::Amakanize::Filters::TrailingDoubleParenthesesSinglizationFilter,
|
16
17
|
::Amakanize::Filters::TrailingParenthesesDeletionFilter,
|
17
18
|
::Amakanize::Filters::TrailingDashDeletionFilter,
|
18
19
|
::Amakanize::Filters::TrailingSeriesNamePayloadDeletionFilter,
|
data/lib/amakanize/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amakanize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- r7kamura
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
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
|
69
83
|
description:
|
70
84
|
email:
|
71
85
|
- r7kamura@gmail.com
|
@@ -75,6 +89,7 @@ extra_rdoc_files: []
|
|
75
89
|
files:
|
76
90
|
- ".gitignore"
|
77
91
|
- ".rspec"
|
92
|
+
- ".rubocop.yml"
|
78
93
|
- ".travis.yml"
|
79
94
|
- CHANGELOG.md
|
80
95
|
- Gemfile
|
@@ -103,6 +118,7 @@ files:
|
|
103
118
|
- lib/amakanize/filters/strip_filter.rb
|
104
119
|
- lib/amakanize/filters/trailing_author_name_payload_deletion_filter.rb
|
105
120
|
- lib/amakanize/filters/trailing_dash_deletion_filter.rb
|
121
|
+
- lib/amakanize/filters/trailing_double_parentheses_singlization_filter.rb
|
106
122
|
- lib/amakanize/filters/trailing_parentheses_deletion_filter.rb
|
107
123
|
- lib/amakanize/filters/trailing_series_name_payload_deletion_filter.rb
|
108
124
|
- lib/amakanize/filters/trailing_volume_number_deletion_filter.rb
|