Class: Amakanize::Filters::TrailingVolumeNumberDeletionFilter

Inherits:
BaseFilter
  • Object
show all
Defined in:
lib/amakanize/filters/trailing_volume_number_deletion_filter.rb

Instance Method Summary collapse

Instance Method Details

#call(context:, output:) ⇒ Hash

Note:

Override

Returns e.g. ‘“やはり俺の青春ラブコメはまちがっている。”`, `“ネトゲの嫁は女の子じゃないと思った?”`.

Parameters:

  • output (String)

    e.g. ‘“やはり俺の青春ラブコメはまちがっている。4”`, `“ネトゲの嫁は女の子じゃないと思った? Lv.2”`

Returns:

  • (Hash)

    e.g. ‘“やはり俺の青春ラブコメはまちがっている。”`, `“ネトゲの嫁は女の子じゃないと思った?”`



9
10
11
12
13
14
15
16
17
# File 'lib/amakanize/filters/trailing_volume_number_deletion_filter.rb', line 9

def call(context:, output:)
  if !context[:volume_number_removed] && !output.match(/[^\s]Lv\.?\s*#{Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}\z/i)
    output = output.sub(/,?\s*#{PATTERN_OF_VOLUME_PREFIX}?#{Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}(?:話|巻|版)?(?:\s*\(.*?\))?\z/, "")
  end
  {
    context: context,
    output: output,
  }
end