Class: JpAddressComplement::Repositories::ActiveRecordPostalCodeRepository

Inherits:
PostalCodeRepository show all
Defined in:
lib/jp_address_complement/repositories/active_record_postal_code_repository.rb

Overview

ActiveRecord を使用した PostalCodeRepository の実装 Rails 環境向けにバンドルされる標準実装

Instance Method Summary collapse

Instance Method Details

#find_by_code(code) ⇒ Array<AddressRecord>

Parameters:

  • code (String) —

    正規化済み7桁郵便番号

Returns:



15
16
17
# File 'lib/jp_address_complement/repositories/active_record_postal_code_repository.rb', line 15

def find_by_code(code)
  postal_code_model.where(postal_code: code).map { |ar| to_record(ar) } # steep:ignore
end

#find_by_prefix(prefix) ⇒ Array<AddressRecord>

Parameters:

  • prefix (String) —

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

Returns:



22
23
24
# File 'lib/jp_address_complement/repositories/active_record_postal_code_repository.rb', line 22

def find_by_prefix(prefix)
  postal_code_model.where('postal_code LIKE ?', "#{prefix}%").map { |ar| to_record(ar) } # steep:ignore
end

#find_postal_codes_by_address(pref:, city:, town: nil) ⇒ Object



27
28
29
30
31
32
# File 'lib/jp_address_complement/repositories/active_record_postal_code_repository.rb', line 27

def find_postal_codes_by_address(pref:, city:, town: nil)
  relation = address_relation(pref: pref, city: city, town: town)
  return [] unless relation

  relation.map { |ar| to_record(ar) } # steep:ignore
end