Class: JpAddressComplement::Repositories::PostalCodeRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/jp_address_complement/repositories/postal_code_repository.rb

Overview

データアクセスを抽象化するインターフェース基底クラス 具体的な実装は ActiveRecordPostalCodeRepository またはユーザー定義アダプターで行う

Instance Method Summary collapse

Instance Method Details

#find_by_code(code) ⇒ Array<AddressRecord>

7桁郵便番号で完全一致検索する

Parameters:

  • code (String) —

    正規化済み7桁郵便番号

Returns:

Raises:

  • (NotImplementedError)


13
14
15
# File 'lib/jp_address_complement/repositories/postal_code_repository.rb', line 13

def find_by_code(code)
  raise NotImplementedError, "#{self.class}#find_by_code を実装してください"
end

#find_by_prefix(prefix) ⇒ Array<AddressRecord>

郵便番号プレフィックスで前方一致検索する

Parameters:

  • prefix (String) —

    4桁以上の郵便番号プレフィックス

Returns:

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/jp_address_complement/repositories/postal_code_repository.rb', line 21

def find_by_prefix(prefix)
  raise NotImplementedError, "#{self.class}#find_by_prefix を実装してください"
end

#find_postal_codes_by_address(pref:, city:, town: nil) ⇒ Array<AddressRecord>

都道府県・市区町村・町域で検索する(逆引き)。町域は前方一致。

Parameters:

  • pref (String) —

    都道府県名(正式名称)

  • city (String) —

    市区町村名

  • town (String, nil) (defaults to: nil) —

    町域名。省略時は都道府県+市区町村のみ。指定時は前方一致で候補を返す

Returns:

  • (Array<AddressRecord>) —

    該当レコードの配列。該当なし・入力不十分時は []

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/jp_address_complement/repositories/postal_code_repository.rb', line 31

def find_postal_codes_by_address(pref:, city:, town: nil)
  raise NotImplementedError, "#{self.class}#find_postal_codes_by_address を実装してください"
end