Class: Amakanize::Filters::ObviousVolumeNumberDeletionFilter

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

Constant Summary collapse

PATTERN =
Regexp.union(
  /\s*#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}?#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}(?:話|巻|版).*/,
  /\s+#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}?#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}(?:話|巻|版)?:\s+.*/,
  /\s+#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}\s+.*/,
  /\s+Lv\.?\s*#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}(?:\s+.*|\z)/,
  /\s*\(#{::Amakanize::PATTERN_OF_VOLUME_PREFIX}?#{::Amakanize::PATTERN_OF_NUMERIC_CHARACTERS}\).*/,
  %r<\s*\d+年\s*\d+\s*(?:月|/\d+\s*)号.*>,
  /\s*\d{4}\s*(?:AUTUMN|SPRING|SUMMER|WINTER)/,
  /\s*\d+年\s*\d+\s*号.*/,
)

Instance Method Summary collapse

Instance Method Details

#call(context:, output:) ⇒ Hash

Note:

Override

Returns e.g. ‘“刀語”`, `“アニウッド大通り”`.

Parameters:

  • output (String)

    e.g. ‘“刀語 第十一話 毒刀・鍍”`, `“アニウッド大通り 1: アニメ監督一家物語”`

Returns:

  • (Hash)

    e.g. ‘“刀語”`, `“アニウッド大通り”`



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/amakanize/filters/obvious_volume_number_deletion_filter.rb', line 20

def call(context:, output:)
  unless context[:volume_number_removed]
    output = output.sub(PATTERN) do
      context[:volume_number_removed] = true
      ""
    end
  end
  {
    context: context,
    output: output,
  }
end