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. ‘“ハノカゲ”`



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

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