Class: Amakanize::Filters::RoleNameDeletionFilter

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

Constant Summary collapse

PATTERN_OF_ROLE_NAME =
::Regexp.union(
  %w[
    イラスト
    カバーデザイン
    キャラクター原案
    原作
    原案
    漫画
  ]
)

Instance Method Summary collapse

Instance Method Details

#call(context:, output:) ⇒ Hash

Note:

Override

Returns e.g. ‘“ハノカゲ”`.

Parameters:

  • output (String)

    e.g. ‘“漫画:ハノカゲ”`, `“ハノカゲ:漫画”`

Returns:

  • (Hash)

    e.g. ‘“ハノカゲ”`



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

def call(context:, output:)
  {
    context: context,
    output: output
      .gsub(%r{\A#{PATTERN_OF_ROLE_NAME}[:/]}, '')
      .gsub(%r{[:/]#{PATTERN_OF_ROLE_NAME}\z}, '')
      .gsub(/\A\(#{PATTERN_OF_ROLE_NAME}(?:・#{PATTERN_OF_ROLE_NAME})*\)/, '')
      .gsub(/\(#{PATTERN_OF_ROLE_NAME}(?:・#{PATTERN_OF_ROLE_NAME})*\)\z/, '')
  }
end