amakanize 0.5.3 → 0.6.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
  SHA1:
3
- metadata.gz: bc41f7f851b9b615e48f8de486c75ebdbd99f5d4
4
- data.tar.gz: 3a8947049c020f4a1138862c1272fc3e01d7cf0d
3
+ metadata.gz: 426275ccb0772fe3bde1320c987661f2a866e595
4
+ data.tar.gz: 811b25a7e84aba958189d436a9fdde4f86bf19f0
5
5
  SHA512:
6
- metadata.gz: 690984a8397432139c34b3bb7d27be7b11ad5e3f942ca9fcf9c7907f6544b3687a838e58785b38d42b574e194d5d7e30ae87514db3f99fbc2c8a2c5b03fb2585
7
- data.tar.gz: 833f7e3ad4644fbbbb7874b9e6c719840fa4e12faa42639970ccbb912889512c6525a2b28bc50a0405bf73d9c60609c1fbb3087a7a05283571a758a0b0af3c4b
6
+ metadata.gz: dcaf9a69a83a7821c503bb3604a970022f3f90d1a12cb0ee913bdf80c7d285f3eb6a3acfd8f80c1831f5c27c83ade1393d6b3a8e1674fb7219947ddd1d1fb563
7
+ data.tar.gz: c37ce03bbc454bf50365730bb72051d92e93843536f290f925238123720cca911724ecd2d67436cb7784dd0c9dd06002054e88baeb3d3837a5d1941a76d45389
data/CHANGELOG.md CHANGED
@@ -1,148 +1,154 @@
1
- ## v0.5.3
1
+ ## 0.6.0
2
+
3
+ - Add `Amakanize::VideoPosition`
4
+ - Rename author name from "r7kamura" to "Ryo Nakamura"
5
+ - Set required Ruby version to 2.2.2 or higher for ActiveSupport
6
+
7
+ ## 0.5.3
2
8
 
3
9
  - Support weekly magazine format in series detection
4
10
 
5
- ## v0.5.2
11
+ ## 0.5.2
6
12
 
7
13
  - Support nested parentheses
8
14
 
9
- ## v0.5.1
15
+ ## 0.5.1
10
16
 
11
17
  - Detect アフタヌーン from アフタヌーン 2016年 05 月号
12
18
 
13
- ## v0.5.0
19
+ ## 0.5.0
14
20
 
15
21
  - Remove volume number only one time
16
22
  - Normalize continuous spaces
17
23
 
18
- ## v0.4.9
24
+ ## 0.4.9
19
25
 
20
26
  - Fix a bug in the brackets normalization logic
21
27
 
22
- ## v0.4.8
28
+ ## 0.4.8
23
29
 
24
30
  - Treat カバーデザイン as role name
25
31
 
26
- ## v0.4.7
32
+ ## 0.4.7
27
33
 
28
34
  - Support "Buso Renkin, Vol. 5"
29
35
 
30
- ## v0.4.6
36
+ ## 0.4.6
31
37
 
32
38
  - Treat (キャラクター原案)ハラカズヒロ as ハラカズヒロ
33
39
  - Normalize 「x! 」 into 「x!」
34
40
 
35
- ## v0.4.5
41
+ ## 0.4.5
36
42
 
37
43
  - Support 2016年04月号 for magazines
38
44
 
39
- ## v0.4.4
45
+ ## 0.4.4
40
46
 
41
47
  - Support (前) (後) (上) (中) (下)
42
48
 
43
- ## v0.4.3
49
+ ## 0.4.3
44
50
 
45
51
  - Support (原作・イラスト)XXX
46
52
  - Support イラスト:XXX
47
53
 
48
- ## v0.4.2
54
+ ## 0.4.2
49
55
 
50
56
  - Support #5
51
57
 
52
- ## v0.4.1
58
+ ## 0.4.1
53
59
 
54
60
  - Support Vol.3
55
61
  - Support 3 通常版
56
62
  - Support 7.5
57
63
 
58
- ## v0.4.0
64
+ ## 0.4.0
59
65
 
60
66
  - Add spaces around brackets except for ending
61
67
  - Treat `―XXX―` as brackets (e.g. To LOVEる―とらぶる―)
62
68
 
63
- ## v0.3.0
69
+ ## 0.3.0
64
70
 
65
71
  - Normalize all brackets into round brackets (parentheses)
66
72
  - Removes only trailing brackets
67
73
 
68
- ## v0.2.2
74
+ ## 0.2.2
69
75
 
70
76
  - Support volume N
71
77
 
72
- ## v0.2.1
78
+ ## 0.2.1
73
79
 
74
80
  - Normalize angle brackets
75
81
  - Remove trailing LvN and Lv.N as volume number
76
82
  - Fix volume number detection pattern
77
83
 
78
- ## v0.2.0
84
+ ## 0.2.0
79
85
 
80
86
  - Fix author name separator
81
87
 
82
- ## v0.1.12
88
+ ## 0.1.12
83
89
 
84
90
  - Support 第N版
85
91
 
86
- ## v0.1.11
92
+ ## 0.1.11
87
93
 
88
94
  - Improve volume detection for アニウッド大通り
89
95
 
90
- ## v0.1.10
96
+ ## 0.1.10
91
97
 
92
98
  - Detect obvious volume number in product title
93
99
 
94
- ## v0.1.9
100
+ ## 0.1.9
95
101
 
96
102
  - Normalize hyphen with hyphen/minus
97
103
 
98
- ## v0.1.8
104
+ ## 0.1.8
99
105
 
100
106
  - Normalize hyphen between alphabets in series name
101
107
 
102
- ## v0.1.7
108
+ ## 0.1.7
103
109
 
104
110
  - Remove trailing surrounding hyphens and payload on series name
105
111
 
106
- ## v0.1.6
112
+ ## 0.1.6
107
113
 
108
114
  - Remove trailing dash and payload on series name
109
115
 
110
- ## v0.1.5
116
+ ## 0.1.5
111
117
 
112
118
  - Remove spaces between exclamations for 「ばくおん! !」
113
119
 
114
- ## v0.1.4
120
+ ## 0.1.4
115
121
 
116
122
  - Add more author name separator
117
123
  - Remove suffix role name
118
124
 
119
- ## v0.1.3
125
+ ## 0.1.3
120
126
 
121
127
  - Remove trailing 原作・原案・漫画 of author name
122
128
 
123
- ## v0.1.2
129
+ ## 0.1.2
124
130
 
125
131
  - Add AuthorNames class
126
132
 
127
- ## v0.1.1
133
+ ## 0.1.1
128
134
 
129
135
  - Support x and X as roman numeric
130
136
 
131
- ## v0.1.0
137
+ ## 0.1.0
132
138
 
133
139
  - Support roman numerals on series name
134
140
  - Support 第N巻 on series name
135
141
  - Normalize series name
136
142
 
137
- ## v0.0.4
143
+ ## 0.0.4
138
144
 
139
145
  - Normalize all characters
140
146
 
141
- ## v0.0.3
147
+ ## 0.0.3
142
148
 
143
149
  - Remove space from author name
144
150
 
145
- ## v0.0.2
151
+ ## 0.0.2
146
152
 
147
153
  - Remove parentheses of numericals in author name
148
154
  - Remove role name from author name
@@ -150,6 +156,6 @@
150
156
  - Strip author name
151
157
  - Unescape HTML in author name
152
158
 
153
- ## v0.0.1
159
+ ## 0.0.1
154
160
 
155
161
  - 1st release :tada:
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 r7kamura
3
+ Copyright (c) 2016 Ryo Nakamura
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,24 +1,14 @@
1
- # Amakanize [![Build Status](https://travis-ci.org/amakan/amakanize.svg?branch=master)](https://travis-ci.org/amakan/amakanize)
1
+ # Amakanize
2
2
 
3
- Utilities to canonicalize series names and author names for [amakan.net](https://amakan.net/).
4
-
5
- ## Usage
3
+ [![CircleCI](https://img.shields.io/circleci/project/github/amakan/amakanize.svg)](https://circleci.com/gh/amakan/amakanize)
4
+ [![Gem Version](https://badge.fury.io/rb/amakanize.svg)](https://rubygems.org/gems/amakanize)
5
+ [![Documentation](http://img.shields.io/badge/docs-rdoc.info-blue.svg)](http://www.rubydoc.info/github/amakan/amakanize)
6
6
 
7
- ```rb
8
- require "amakanize"
9
-
10
- Amakanize::AuthorName.new("ぽんかん(8)").to_s #=> "ぽんかん8"
11
- Amakanize::AuthorName.new("ぽんかん8").to_s #=> "ぽんかん8"
12
- Amakanize::AuthorName.new("ぽんかん⑧").to_s #=> "ぽんかん8"
7
+ Utilities to canonicalize series names and author names for [amakan.net](https://amakan.net/).
13
8
 
14
- Amakanize::AuthorNames.new("ぽんかん⑧,渡 航").map(&:to_s) #=> ["ぽんかん8", "渡航"]
15
- Amakanize::AuthorNames.new("ぽんかん⑧,渡 航").map(&:to_s) #=> ["ぽんかん8", "渡航"]
16
- Amakanize::AuthorNames.new("ぽんかん⑧、渡 航").map(&:to_s) #=> ["ぽんかん8", "渡航"]
9
+ ## Requirements
17
10
 
18
- Amakanize::SeriesName.new("やはり俺の青春ラブコメはまちがっている。4").to_s #=> "やはり俺の青春ラブコメはまちがっている。"
19
- Amakanize::SeriesName.new("ラブライブ! School idol diary ~星空凛~").to_s #=> "ラブライブ! School idol diary"
20
- Amakanize::SeriesName.new("僕だけがいない街 (1) (カドカワコミックス・エース)").to_s #=> "僕だけがいない街"
21
- ```
11
+ - Ruby 2.2.2 or higher
22
12
 
23
13
  ## Installation
24
14
 
@@ -39,3 +29,21 @@ Or manually install:
39
29
  ```sh
40
30
  gem install amakanize
41
31
  ```
32
+
33
+ ## Usage
34
+
35
+ ```rb
36
+ require "amakanize"
37
+
38
+ Amakanize::AuthorName.new("ぽんかん(8)").to_s #=> "ぽんかん8"
39
+ Amakanize::AuthorName.new("ぽんかん8").to_s #=> "ぽんかん8"
40
+ Amakanize::AuthorName.new("ぽんかん⑧").to_s #=> "ぽんかん8"
41
+
42
+ Amakanize::AuthorNames.new("ぽんかん⑧,渡 航").map(&:to_s) #=> ["ぽんかん8", "渡航"]
43
+ Amakanize::AuthorNames.new("ぽんかん⑧,渡 航").map(&:to_s) #=> ["ぽんかん8", "渡航"]
44
+ Amakanize::AuthorNames.new("ぽんかん⑧、渡 航").map(&:to_s) #=> ["ぽんかん8", "渡航"]
45
+
46
+ Amakanize::SeriesName.new("やはり俺の青春ラブコメはまちがっている。4").to_s #=> "やはり俺の青春ラブコメはまちがっている。"
47
+ Amakanize::SeriesName.new("ラブライブ! School idol diary ~星空凛~").to_s #=> "ラブライブ! School idol diary"
48
+ Amakanize::SeriesName.new("僕だけがいない街 (1) (カドカワコミックス・エース)").to_s #=> "僕だけがいない街"
49
+ ```
data/amakanize.gemspec CHANGED
@@ -3,18 +3,17 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require "amakanize/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "amakanize"
7
- spec.version = Amakanize::VERSION
8
- spec.authors = ["r7kamura"]
9
- spec.email = ["r7kamura@gmail.com"]
10
- spec.summary = "Utilities to canonicalize series names and author names."
11
- spec.homepage = "https://github.com/amakan/amakanize"
12
- spec.license = "MIT"
6
+ spec.name = "amakanize"
7
+ spec.version = Amakanize::VERSION
8
+ spec.authors = ["Ryo Nakamura"]
9
+ spec.email = ["r7kamura@gmail.com"]
10
+ spec.summary = "Utilities to canonicalize series names and author names."
11
+ spec.homepage = "https://github.com/amakan/amakanize"
12
+ spec.license = "MIT"
13
13
 
14
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
- spec.bindir = "exe"
16
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
14
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
15
  spec.require_paths = ["lib"]
16
+ spec.required_ruby_version = ">= 2.2.2"
18
17
 
19
18
  spec.add_dependency "activesupport"
20
19
  spec.add_development_dependency "bundler"
@@ -1,7 +1,9 @@
1
1
  module Amakanize
2
2
  class AuthorName
3
+ include ::Amakanize::Filterable
4
+
3
5
  class << self
4
- # @return [Array<Class>]
6
+ # @note Override
5
7
  def filter_classes
6
8
  @filter_classes ||= [
7
9
  ::Amakanize::Filters::HtmlUnescapeFilter,
@@ -14,23 +16,5 @@ module Amakanize
14
16
  ]
15
17
  end
16
18
  end
17
-
18
- # @param raw [String]
19
- def initialize(raw)
20
- @raw = raw
21
- end
22
-
23
- # @note Override
24
- def to_s
25
- filters.inject(context: {}, output: @raw) do |result, filter|
26
- filter.call(result)
27
- end[:output]
28
- end
29
-
30
- private
31
-
32
- def filters
33
- @filters ||= self.class.filter_classes.map(&:new)
34
- end
35
19
  end
36
20
  end
@@ -8,15 +8,38 @@ module Amakanize
8
8
 
9
9
  )
10
10
 
11
+ AUTHOR_NAME_SEPARATORS_REGEXP = ::Regexp.union(AUTHOR_NAME_SEPARATORS)
12
+
11
13
  # @param raw [String]
12
14
  def initialize(raw)
13
15
  @raw = raw
14
16
  end
15
17
 
18
+ # @note Implementation for Enumerable
16
19
  def each(&block)
17
- @raw.split(::Regexp.union(AUTHOR_NAME_SEPARATORS)).map do |author_name|
18
- ::Amakanize::AuthorName.new(author_name)
19
- end.each(&block)
20
+ author_names.each(&block)
21
+ end
22
+
23
+ private
24
+
25
+ # @private
26
+ # @return [Array<Amakanize::AuthorName>]
27
+ def author_names
28
+ segments.map do |segment|
29
+ ::Amakanize::AuthorName.new(segment)
30
+ end
31
+ end
32
+
33
+ # @private
34
+ # @return [String]
35
+ def raw
36
+ @raw
37
+ end
38
+
39
+ # @private
40
+ # @return [Array<String>]
41
+ def segments
42
+ raw.split(AUTHOR_NAME_SEPARATORS_REGEXP)
20
43
  end
21
44
  end
22
45
  end
@@ -0,0 +1,40 @@
1
+ require "active_support/concern"
2
+
3
+ module Amakanize
4
+ module Filterable
5
+ extend ::ActiveSupport::Concern
6
+
7
+ # @param raw [String]
8
+ def initialize(raw)
9
+ @raw = raw
10
+ end
11
+
12
+ # @note Override
13
+ def to_s
14
+ filters.inject(context: {}, output: raw) do |result, filter|
15
+ filter.call(result)
16
+ end[:output]
17
+ end
18
+
19
+ private
20
+
21
+ # @private
22
+ # @return [Array<Amakanize::Filters::BaseFilter>]
23
+ def filters
24
+ @filters ||= self.class.filter_classes.map(&:new)
25
+ end
26
+
27
+ # @private
28
+ # @return [String]
29
+ def raw
30
+ @raw
31
+ end
32
+
33
+ module ClassMethods
34
+ # @return [Array<Class>]
35
+ def filter_classes
36
+ raise ::NotImplementedError
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,22 @@
1
+ module Amakanize
2
+ module Filters
3
+ class VideoPositionDetectionFilter < BaseFilter
4
+ # @note Override
5
+ # @param output [String] e.g. `"第1話「でじこだにょ」/第2話「ぷちこと一緒かにょ?」"`
6
+ # @return [Hash] e.g. `"1"`
7
+ def call(context:, output:)
8
+ output = begin
9
+ if output.match(/#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}(#{PATTERN_OF_NUMERIC_CHARACTERS})/)
10
+ ::Regexp.last_match(1)
11
+ else
12
+ ""
13
+ end
14
+ end
15
+ {
16
+ context: context,
17
+ output: output,
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,158 @@
1
+ module Amakanize
2
+ module Filters
3
+ class VideoPositionNumberConversionFilter < BaseFilter
4
+ TABLE = {
5
+ /i/i => 1,
6
+ /ii/i => 2,
7
+ /iii/i => 3,
8
+ /iv/i => 4,
9
+ /v/i => 5,
10
+ /vi/i => 6,
11
+ /vii/i => 7,
12
+ /viii/i => 8,
13
+ /ix/i => 9,
14
+ /x/i => 10,
15
+ /xi/i => 11,
16
+ /xii/i => 12,
17
+ /xiii/i => 13,
18
+ /xiv/i => 14,
19
+ /xv/i => 15,
20
+ /xvi/i => 16,
21
+ /xvii/i => 17,
22
+ /xviii/i => 18,
23
+ /xix/i => 19,
24
+ /xx/i => 20,
25
+ /xxi/i => 21,
26
+ /xxii/i => 22,
27
+ /xxiii/i => 23,
28
+ /xxiv/i => 24,
29
+ /xxv/i => 25,
30
+ /xxvi/i => 26,
31
+ /xxvii/i => 27,
32
+ /xxviii/i => 28,
33
+ /xxix/i => 29,
34
+ /xxx/i => 30,
35
+ /一/ => 1,
36
+ /二/ => 2,
37
+ /三/ => 3,
38
+ /四/ => 4,
39
+ /五/ => 5,
40
+ /六/ => 6,
41
+ /七/ => 7,
42
+ /八/ => 8,
43
+ /九/ => 9,
44
+ /十/ => 10,
45
+ /十一/ => 11,
46
+ /十二/ => 12,
47
+ /十三/ => 13,
48
+ /十四/ => 14,
49
+ /十五/ => 15,
50
+ /十六/ => 16,
51
+ /十七/ => 17,
52
+ /十八/ => 18,
53
+ /十九/ => 19,
54
+ /二十/ => 20,
55
+ /二十一/ => 21,
56
+ /二十二/ => 22,
57
+ /二十三/ => 23,
58
+ /二十四/ => 24,
59
+ /二十五/ => 25,
60
+ /二十六/ => 26,
61
+ /二十七/ => 27,
62
+ /二十八/ => 28,
63
+ /二十九/ => 29,
64
+ /三十/ => 30,
65
+ /三十一/ => 31,
66
+ /三十二/ => 32,
67
+ /三十三/ => 33,
68
+ /三十四/ => 34,
69
+ /三十五/ => 35,
70
+ /三十六/ => 36,
71
+ /三十七/ => 37,
72
+ /三十八/ => 38,
73
+ /三十九/ => 39,
74
+ /四十/ => 40,
75
+ /四十一/ => 41,
76
+ /四十二/ => 42,
77
+ /四十三/ => 43,
78
+ /四十四/ => 44,
79
+ /四十五/ => 45,
80
+ /四十六/ => 46,
81
+ /四十七/ => 47,
82
+ /四十八/ => 48,
83
+ /四十九/ => 49,
84
+ /五十/ => 50,
85
+ /五十一/ => 51,
86
+ /五十二/ => 52,
87
+ /五十三/ => 53,
88
+ /五十四/ => 54,
89
+ /五十五/ => 55,
90
+ /五十六/ => 56,
91
+ /五十七/ => 57,
92
+ /五十八/ => 58,
93
+ /五十九/ => 59,
94
+ /六十/ => 60,
95
+ /六十一/ => 61,
96
+ /六十二/ => 62,
97
+ /六十三/ => 63,
98
+ /六十四/ => 64,
99
+ /六十五/ => 65,
100
+ /六十六/ => 66,
101
+ /六十七/ => 67,
102
+ /六十八/ => 68,
103
+ /六十九/ => 69,
104
+ /七十/ => 70,
105
+ /七十一/ => 71,
106
+ /七十二/ => 72,
107
+ /七十三/ => 73,
108
+ /七十四/ => 74,
109
+ /七十五/ => 75,
110
+ /七十六/ => 76,
111
+ /七十七/ => 77,
112
+ /七十八/ => 78,
113
+ /七十九/ => 79,
114
+ /八十/ => 80,
115
+ /八十一/ => 81,
116
+ /八十二/ => 82,
117
+ /八十三/ => 83,
118
+ /八十四/ => 84,
119
+ /八十五/ => 85,
120
+ /八十六/ => 86,
121
+ /八十七/ => 87,
122
+ /八十八/ => 88,
123
+ /八十九/ => 89,
124
+ /九十/ => 90,
125
+ /九十一/ => 91,
126
+ /九十二/ => 92,
127
+ /九十三/ => 93,
128
+ /九十四/ => 94,
129
+ /九十五/ => 95,
130
+ /九十六/ => 96,
131
+ /九十七/ => 97,
132
+ /九十八/ => 98,
133
+ /九十九/ => 99,
134
+ /①/ => 1,
135
+ /②/ => 2,
136
+ /③/ => 3,
137
+ /④/ => 4,
138
+ /⑤/ => 5,
139
+ /⑥/ => 6,
140
+ /⑦/ => 7,
141
+ /⑧/ => 8,
142
+ /⑨/ => 9,
143
+ /⑩/ => 10,
144
+ }
145
+
146
+ # @note Override
147
+ def call(context:, output:)
148
+ output = TABLE.to_a.reverse.each_with_object(output.clone) do |(key, value), result|
149
+ result.gsub!(key, value.to_s)
150
+ end
151
+ {
152
+ context: context,
153
+ output: output,
154
+ }
155
+ end
156
+ end
157
+ end
158
+ end
@@ -1,5 +1,7 @@
1
1
  module Amakanize
2
2
  class SeriesName
3
+ include ::Amakanize::Filterable
4
+
3
5
  class << self
4
6
  # @return [Array<Class>]
5
7
  def filter_classes
@@ -22,23 +24,5 @@ module Amakanize
22
24
  ]
23
25
  end
24
26
  end
25
-
26
- # @param raw [String]
27
- def initialize(raw)
28
- @raw = raw
29
- end
30
-
31
- # @note Override
32
- def to_s
33
- filters.inject(context: {}, output: @raw) do |result, filter|
34
- filter.call(result)
35
- end[:output]
36
- end
37
-
38
- private
39
-
40
- def filters
41
- @filters ||= self.class.filter_classes.map(&:new)
42
- end
43
27
  end
44
28
  end
@@ -1,3 +1,3 @@
1
1
  module Amakanize
2
- VERSION = "0.5.3"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -0,0 +1,21 @@
1
+ module Amakanize
2
+ class VideoPosition
3
+ include ::Amakanize::Filterable
4
+
5
+ class << self
6
+ # @return [Array<Class>]
7
+ def filter_classes
8
+ @filter_classes ||= [
9
+ ::Amakanize::Filters::HtmlUnescapeFilter,
10
+ ::Amakanize::Filters::NormalizationFilter,
11
+ ::Amakanize::Filters::ContinuousSpacesNormalizationFilter,
12
+ ::Amakanize::Filters::HyphenMinusNormalizationFilter,
13
+ ::Amakanize::Filters::DashBetweenAlhabetsNormalizationFilter,
14
+ ::Amakanize::Filters::BracketsNormalizationFilter,
15
+ ::Amakanize::Filters::VideoPositionDetectionFilter,
16
+ ::Amakanize::Filters::VideoPositionNumberConversionFilter,
17
+ ]
18
+ end
19
+ end
20
+ end
21
+ end
data/lib/amakanize.rb CHANGED
@@ -34,6 +34,7 @@ module Amakanize
34
34
  /x
35
35
  end
36
36
 
37
+ require "amakanize/filterable"
37
38
  require "amakanize/author_name"
38
39
  require "amakanize/author_names"
39
40
  require "amakanize/filters/base_filter"
@@ -56,5 +57,8 @@ require "amakanize/filters/trailing_double_parentheses_singlization_filter"
56
57
  require "amakanize/filters/trailing_parentheses_deletion_filter"
57
58
  require "amakanize/filters/trailing_series_name_payload_deletion_filter"
58
59
  require "amakanize/filters/trailing_volume_number_deletion_filter"
60
+ require "amakanize/filters/video_position_detection_filter"
61
+ require "amakanize/filters/video_position_number_conversion_filter"
59
62
  require "amakanize/series_name"
60
63
  require "amakanize/version"
64
+ require "amakanize/video_position"
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.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
- - r7kamura
7
+ - Ryo Nakamura
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-02 00:00:00.000000000 Z
11
+ date: 2017-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -90,18 +90,16 @@ files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
92
  - ".rubocop.yml"
93
- - ".travis.yml"
94
93
  - CHANGELOG.md
95
94
  - Gemfile
96
95
  - LICENSE.txt
97
96
  - README.md
98
97
  - Rakefile
99
98
  - amakanize.gemspec
100
- - bin/console
101
- - bin/setup
102
99
  - lib/amakanize.rb
103
100
  - lib/amakanize/author_name.rb
104
101
  - lib/amakanize/author_names.rb
102
+ - lib/amakanize/filterable.rb
105
103
  - lib/amakanize/filters/base_filter.rb
106
104
  - lib/amakanize/filters/brackets_normalization_filter.rb
107
105
  - lib/amakanize/filters/continuous_spaces_normalization_filter.rb
@@ -122,8 +120,11 @@ files:
122
120
  - lib/amakanize/filters/trailing_parentheses_deletion_filter.rb
123
121
  - lib/amakanize/filters/trailing_series_name_payload_deletion_filter.rb
124
122
  - lib/amakanize/filters/trailing_volume_number_deletion_filter.rb
123
+ - lib/amakanize/filters/video_position_detection_filter.rb
124
+ - lib/amakanize/filters/video_position_number_conversion_filter.rb
125
125
  - lib/amakanize/series_name.rb
126
126
  - lib/amakanize/version.rb
127
+ - lib/amakanize/video_position.rb
127
128
  homepage: https://github.com/amakan/amakanize
128
129
  licenses:
129
130
  - MIT
@@ -136,7 +137,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
137
  requirements:
137
138
  - - ">="
138
139
  - !ruby/object:Gem::Version
139
- version: '0'
140
+ version: 2.2.2
140
141
  required_rubygems_version: !ruby/object:Gem::Requirement
141
142
  requirements:
142
143
  - - ">="
@@ -144,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
145
  version: '0'
145
146
  requirements: []
146
147
  rubyforge_project:
147
- rubygems_version: 2.4.5.1
148
+ rubygems_version: 2.5.2
148
149
  signing_key:
149
150
  specification_version: 4
150
151
  summary: Utilities to canonicalize series names and author names.
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.2
4
- notifications:
5
- email: false
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "amakanize"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here