japanese_address_parser 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +67 -6
  3. data/CHANGELOG.md +17 -0
  4. data/Gemfile.lock +104 -58
  5. data/Steepfile +1 -7
  6. data/japanese_address_parser.gemspec +2 -0
  7. data/lib/japanese_address_parser/address.rb +35 -34
  8. data/lib/japanese_address_parser/cache_regexes.rb +22 -14
  9. data/lib/japanese_address_parser/city.rb +14 -13
  10. data/lib/japanese_address_parser/data/api_meta.rb +8 -7
  11. data/lib/japanese_address_parser/data/machi_aza_api.rb +8 -7
  12. data/lib/japanese_address_parser/data/prefecture_api.rb +8 -7
  13. data/lib/japanese_address_parser/data/single_chiban.rb +17 -16
  14. data/lib/japanese_address_parser/data/single_city.rb +25 -24
  15. data/lib/japanese_address_parser/data/single_machi_aza.rb +28 -27
  16. data/lib/japanese_address_parser/data/single_prefecture.rb +13 -12
  17. data/lib/japanese_address_parser/data/single_rsdt.rb +17 -16
  18. data/lib/japanese_address_parser/dictionaries/convert.rb +1 -0
  19. data/lib/japanese_address_parser/fetcher.rb +13 -12
  20. data/lib/japanese_address_parser/japanese_numeral.rb +2 -0
  21. data/lib/japanese_address_parser/normalize_result_point.rb +21 -21
  22. data/lib/japanese_address_parser/prefecture.rb +15 -14
  23. data/lib/japanese_address_parser/town.rb +23 -22
  24. data/lib/japanese_address_parser/version.rb +1 -1
  25. data/sig/address.rbs +2 -5
  26. data/sig/cache_regexes.rbs +22 -25
  27. data/sig/config.rbs +0 -2
  28. data/sig/data.rbs +2 -5
  29. data/sig/dict.rbs +1 -3
  30. data/sig/dictionaries.rbs +1 -3
  31. data/sig/fetcher.rbs +5 -6
  32. data/sig/japanese_address_parser.rbs +6 -3
  33. data/sig/japanese_numeral.rbs +12 -15
  34. data/sig/kan2num.rbs +1 -3
  35. data/sig/lru_redux.rbs +9 -0
  36. data/sig/normalize.rbs +4 -7
  37. data/sig/normalize_helpers.rbs +1 -3
  38. data/sig/normalize_result.rbs +0 -2
  39. data/sig/normalize_result_point.rbs +8 -8
  40. data/sig/patch_addr.rbs +1 -3
  41. data/sig/utils.rbs +2 -4
  42. data/sig/zen2han.rbs +1 -3
  43. metadata +30 -1
data/sig/fetcher.rbs CHANGED
@@ -1,5 +1,3 @@
1
- # Interim signature for the v4.0.0 config & data-access layer (M3).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  module Fetcher
@@ -14,11 +12,12 @@ module JapaneseAddressParser
14
12
  def text: () -> String
15
13
  end
16
14
 
15
+ HOMEPAGE_URL: String
17
16
  USER_AGENT: String
18
17
 
19
- def self.fetch: (String input, ?offset: Integer?, ?length: Integer?) -> Response
20
- def self.http_request: (String url, Integer? offset, Integer? length) -> Response
21
- def self.read_file: (String path, Integer? offset, Integer? length) -> Response
22
- def self.strip_query: (String path) -> String
18
+ def self?.fetch: (String input, ?offset: Integer?, ?length: Integer?) -> Response
19
+ def self?.http_request: (String url, Integer? offset, Integer? length) -> Response
20
+ def self?.read_file: (String path, Integer? offset, Integer? length) -> Response
21
+ def self?.strip_query: (String path) -> String
23
22
  end
24
23
  end
@@ -1,9 +1,12 @@
1
- # 公開エントリの型。Address 等の VO は sig/**(旧 sig/v4/**)で定義する。
1
+ # 公開エントリの型。Address 等の VO は sig/** で定義する。
2
2
 
3
3
  module JapaneseAddressParser
4
4
  VERSION: String
5
5
  DEFAULT_LEVEL: Integer
6
6
 
7
- def self.call: (String address, ?level: Integer) -> Address?
8
- def self.call!: (String address, ?level: Integer) -> Address
7
+ class NormalizeError < ::StandardError
8
+ end
9
+
10
+ def self?.call: (String address, ?level: Integer) -> Address?
11
+ def self?.call!: (String address, ?level: Integer) -> Address
9
12
  end
@@ -1,8 +1,5 @@
1
- # Interim signature for the v4.0.0 utility layer (M2).
2
- # The full RBS overhaul happens in M9; this keeps `steep check` green in the meantime.
3
- #
4
1
  # `untyped` is used where the upstream JS relies on Number()/undefined coercion that can
5
- # produce NaN — modelling that union precisely is deferred to M9.
2
+ # produce NaN — that union is intentionally left untyped.
6
3
 
7
4
  module JapaneseAddressParser
8
5
  module JapaneseNumeral
@@ -13,17 +10,17 @@ module JapaneseAddressParser
13
10
  LARGE_NUMBERS: Hash[String, Integer]
14
11
  SMALL_NUMBERS: Hash[String, Integer]
15
12
 
16
- def self.kanji2number: (String japanese) -> Integer
17
- def self.number2kanji: (untyped num) -> String
18
- def self.find_kanji_numbers: (String text) -> Array[String]
13
+ def self?.kanji2number: (String japanese) -> Integer
14
+ def self?.number2kanji: (untyped num) -> String
15
+ def self?.find_kanji_numbers: (String text) -> Array[String]
19
16
 
20
- def self.ecmascript_global_match: (String text, String pattern) -> Array[String]
21
- def self.normalize: (String japanese) -> String
22
- def self.split_large_number: (String japanese) -> Hash[String, untyped]
23
- def self.kan2n: (String japanese) -> untyped
24
- def self.n2kan: (Integer num) -> String
25
- def self.zen2han: (String str) -> String
26
- def self.js_number: (String str) -> untyped
27
- def self.js_truthy?: (untyped value) -> bool
17
+ def self?.ecmascript_global_match: (String text, String pattern) -> Array[String]
18
+ def self?.normalize: (String japanese) -> String
19
+ def self?.split_large_number: (String japanese) -> Hash[String, untyped]
20
+ def self?.kan2n: (String japanese) -> untyped
21
+ def self?.n2kan: (Integer num) -> String
22
+ def self?.zen2han: (String str) -> String
23
+ def self?.js_number: (String str) -> untyped
24
+ def self?.js_truthy?: (untyped value) -> bool
28
25
  end
29
26
  end
data/sig/kan2num.rbs CHANGED
@@ -1,8 +1,6 @@
1
- # Interim signature for the v4.0.0 utility layer (M2).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  module Kan2num
6
- def self.call: (String string) -> String
4
+ def self?.call: (String string) -> String
7
5
  end
8
6
  end
data/sig/lru_redux.rbs ADDED
@@ -0,0 +1,9 @@
1
+ # lru_redux gem には RBS が同梱されておらず gem_rbs_collection にも無いため、
2
+ # 本 gem が使う範囲だけを untyped で最小宣言する。
3
+ module LruRedux
4
+ class Cache
5
+ def initialize: (untyped size) -> void
6
+ def []: (untyped key) -> untyped
7
+ def []=: (untyped key, untyped value) -> untyped
8
+ end
9
+ end
data/sig/normalize.rbs CHANGED
@@ -1,6 +1,3 @@
1
- # Interim signature for the v4.0.0 normalize layer (M5).
2
- # The full RBS overhaul happens in M9.
3
- #
4
1
  # town は SingleMachiAza か TownAlias の混在なので untyped で受ける。
5
2
 
6
3
  module JapaneseAddressParser
@@ -9,9 +6,9 @@ module JapaneseAddressParser
9
6
  NUM: String
10
7
  DASHES: String
11
8
 
12
- def self.call: (String address, ?level: Integer) -> NormalizeResult
13
- def self.normalize_town_name: (String input, Data::SinglePrefecture pref, Data::SingleCity city, Integer api_version) -> { town: untyped, other: String }?
14
- def self.normalize_addr: (String other) -> String
15
- def self.normalize_addr_part: (String addr, untyped pref, untyped city, untyped town, Integer api_version) -> Hash[Symbol, untyped]
9
+ def self?.call: (String address, ?level: Integer) -> NormalizeResult
10
+ def self?.normalize_town_name: (String input, Data::SinglePrefecture pref, Data::SingleCity city, Integer api_version) -> { town: untyped, other: String }?
11
+ def self?.normalize_addr: (String other) -> String
12
+ def self?.normalize_addr_part: (String addr, untyped pref, untyped city, untyped town, Integer api_version) -> Hash[Symbol, untyped]
16
13
  end
17
14
  end
@@ -1,5 +1,3 @@
1
- # Interim signature for the v4.0.0 utility layer (M2).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  module NormalizeHelpers
@@ -9,6 +7,6 @@ module JapaneseAddressParser
9
7
  BEFORE_KU_GUN: Regexp
10
8
  BEFORE_FIRST_NUMBER_DASH: Regexp
11
9
 
12
- def self.prenormalize: (String input) -> String
10
+ def self?.prenormalize: (String input) -> String
13
11
  end
14
12
  end
@@ -1,5 +1,3 @@
1
- # Interim signature for the v4.0.0 normalize layer (M5).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  class NormalizeResultMetadata
@@ -1,5 +1,3 @@
1
- # Interim signature for the v4.0.0 normalize layer (M5).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  class NormalizeResultPoint
@@ -8,16 +6,18 @@ module JapaneseAddressParser
8
6
  attr_reader level: Integer
9
7
 
10
8
  def self.new: (lat: Float, lng: Float, level: Integer) -> instance
11
- def self.from_lng_lat: ([Float, Float]? point, level: Integer) -> NormalizeResultPoint?
9
+ def self.from_lng_lat: ([Float, Float] point, level: Integer) -> NormalizeResultPoint
10
+ | (nil point, level: Integer) -> nil
11
+ | ([Float, Float]? point, level: Integer) -> NormalizeResultPoint?
12
12
  def self.normalize_result_point?: (untyped obj) -> bool
13
13
  def to_h: () -> Hash[Symbol, untyped]
14
14
  end
15
15
 
16
16
  module ResultPoint
17
- def self.prefecture_to_result_point: (Data::SinglePrefecture pref) -> NormalizeResultPoint
18
- def self.city_to_result_point: (Data::SingleCity city) -> NormalizeResultPoint
19
- def self.machi_aza_to_result_point: (Data::SingleMachiAza machi_aza) -> NormalizeResultPoint?
20
- def self.rsdt_or_chiban_to_result_point: (Data::SingleRsdt | Data::SingleChiban input) -> NormalizeResultPoint?
21
- def self.upgrade_point: (NormalizeResultPoint? point_a, NormalizeResultPoint? point_b) -> NormalizeResultPoint?
17
+ def self?.prefecture_to_result_point: (Data::SinglePrefecture pref) -> NormalizeResultPoint
18
+ def self?.city_to_result_point: (Data::SingleCity city) -> NormalizeResultPoint
19
+ def self?.machi_aza_to_result_point: (Data::SingleMachiAza machi_aza) -> NormalizeResultPoint?
20
+ def self?.rsdt_or_chiban_to_result_point: (Data::SingleRsdt | Data::SingleChiban input) -> NormalizeResultPoint?
21
+ def self?.upgrade_point: (NormalizeResultPoint? point_a, NormalizeResultPoint? point_b) -> NormalizeResultPoint?
22
22
  end
23
23
  end
data/sig/patch_addr.rbs CHANGED
@@ -1,10 +1,8 @@
1
- # Interim signature for the v4.0.0 utility layer (M2).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  module PatchAddr
6
4
  ADDR_PATCHES: Array[Hash[Symbol, String]]
7
5
 
8
- def self.call: (String pref_name, String city_name, String town_name, String addr) -> String
6
+ def self?.call: (String pref_name, String city_name, String town_name, String addr) -> String
9
7
  end
10
8
  end
data/sig/utils.rbs CHANGED
@@ -1,9 +1,7 @@
1
- # Interim signature for the v4.0.0 utility layer (M2).
2
- # The full RBS overhaul happens in M9.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  module Utils
6
- def self.remove_cities_from_prefecture: (untyped pref) -> (Hash[Symbol, untyped] | nil)
7
- def self.remove_extra_from_machi_aza: (untyped machi_aza) -> (Hash[Symbol, untyped] | nil)
4
+ def self?.remove_cities_from_prefecture: (untyped pref) -> (Hash[Symbol, untyped] | nil)
5
+ def self?.remove_extra_from_machi_aza: (untyped machi_aza) -> (Hash[Symbol, untyped] | nil)
8
6
  end
9
7
  end
data/sig/zen2han.rbs CHANGED
@@ -1,8 +1,6 @@
1
- # Interim signature for the v4.0.0 utility layer (M2).
2
- # The full RBS overhaul happens in M9; this keeps `steep check` green in the meantime.
3
1
 
4
2
  module JapaneseAddressParser
5
3
  module Zen2han
6
- def self.call: (String str) -> String
4
+ def self?.call: (String str) -> String
7
5
  end
8
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: japanese_address_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yamaguchi Takuya
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: benchmark
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ostruct
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rake
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -255,6 +283,7 @@ files:
255
283
  - sig/japanese_address_parser.rbs
256
284
  - sig/japanese_numeral.rbs
257
285
  - sig/kan2num.rbs
286
+ - sig/lru_redux.rbs
258
287
  - sig/normalize.rbs
259
288
  - sig/normalize_helpers.rbs
260
289
  - sig/normalize_result.rbs