japanese_address_parser 3.0.0 → 3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Dockerfile +2 -0
- data/Gemfile.lock +25 -1
- data/Steepfile +18 -0
- data/docker-compose.yml +1 -0
- data/japanese_address_parser.gemspec +2 -0
- data/lib/japanese_address_parser/address_normalizer/normalize_japanese_addresses_schmoozer.rb +4 -2
- data/lib/japanese_address_parser/version.rb +1 -1
- data/sig/japanese_address_parser.rbs +78 -1
- data/sig/schmooze_base.rbs +25 -0
- metadata +31 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a042febb9a10f78adeadbd23f6e99a97c69817546479ecbd2dc1cd1fe6f5f50
|
4
|
+
data.tar.gz: ed7d82baf90223493a3cb0e33b21afb2a61779cd57718e18f63358ddc963d66f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbfe12bdc50a1eaacba31ad237a6034a3d1db4961d2f50b061ab862961753d4a62dc9515cc0d96373d1f432599906a49617687b5ed3b1f89ebf032c6110a0709
|
7
|
+
data.tar.gz: 00f949e850de4bd327af851ed3ff4d046423a73473b2a847f5b316fc91cb0dccc4ae06ebd36c7567b75bef8f690a8e48a13ba1c0464ca1ab4b655e874ec558c3
|
data/CHANGELOG.md
CHANGED
@@ -17,6 +17,11 @@ Change Log の形式は [Keep a Changelog](http://keepachangelog.com/) に従い
|
|
17
17
|
|
18
18
|
### Security
|
19
19
|
|
20
|
+
## [3.0.1] - 2022-09-25
|
21
|
+
### Added
|
22
|
+
|
23
|
+
- [#53](https://github.com/yamat47/japanese_address_parser/pull/53) Steepでの型検査の仕組みを導入した。([@yamat47](https://github.com/yamat47))
|
24
|
+
|
20
25
|
## [3.0.0] - 2022-09-25
|
21
26
|
### Added
|
22
27
|
|
data/Dockerfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
japanese_address_parser (3.0.
|
4
|
+
japanese_address_parser (3.0.1)
|
5
5
|
schmooze
|
6
6
|
|
7
7
|
GEM
|
@@ -17,15 +17,24 @@ GEM
|
|
17
17
|
diff-lcs (1.5.0)
|
18
18
|
factory_bot (6.2.1)
|
19
19
|
activesupport (>= 5.0.0)
|
20
|
+
ffi (1.15.5)
|
20
21
|
i18n (1.12.0)
|
21
22
|
concurrent-ruby (~> 1.0)
|
22
23
|
json (2.6.2)
|
24
|
+
language_server-protocol (3.17.0.1)
|
25
|
+
listen (3.7.1)
|
26
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
27
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
23
28
|
minitest (5.16.3)
|
24
29
|
parallel (1.22.1)
|
25
30
|
parser (3.1.2.1)
|
26
31
|
ast (~> 2.4.1)
|
27
32
|
rainbow (3.1.1)
|
28
33
|
rake (13.0.6)
|
34
|
+
rb-fsevent (0.11.2)
|
35
|
+
rb-inotify (0.10.1)
|
36
|
+
ffi (~> 1.0)
|
37
|
+
rbs (2.6.0)
|
29
38
|
regexp_parser (2.5.0)
|
30
39
|
rexml (3.2.5)
|
31
40
|
rspec (3.11.0)
|
@@ -59,6 +68,19 @@ GEM
|
|
59
68
|
rubocop (~> 1.33)
|
60
69
|
ruby-progressbar (1.11.0)
|
61
70
|
schmooze (0.2.0)
|
71
|
+
steep (1.1.1)
|
72
|
+
activesupport (>= 5.1)
|
73
|
+
language_server-protocol (>= 3.15, < 4.0)
|
74
|
+
listen (~> 3.0)
|
75
|
+
parallel (>= 1.0.0)
|
76
|
+
parser (>= 3.1)
|
77
|
+
rainbow (>= 2.2.2, < 4.0)
|
78
|
+
rbs (>= 2.3.2)
|
79
|
+
terminal-table (>= 2, < 4)
|
80
|
+
terminal-table (3.0.2)
|
81
|
+
unicode-display_width (>= 1.1.1, < 3)
|
82
|
+
typeprof (0.21.3)
|
83
|
+
rbs (>= 1.8.1)
|
62
84
|
tzinfo (2.0.5)
|
63
85
|
concurrent-ruby (~> 1.0)
|
64
86
|
unicode-display_width (2.3.0)
|
@@ -78,6 +100,8 @@ DEPENDENCIES
|
|
78
100
|
rubocop
|
79
101
|
rubocop-rake
|
80
102
|
rubocop-rspec
|
103
|
+
steep
|
104
|
+
typeprof
|
81
105
|
|
82
106
|
BUNDLED WITH
|
83
107
|
2.3.3
|
data/Steepfile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
target :lib do
|
4
|
+
signature 'sig'
|
5
|
+
|
6
|
+
check 'lib'
|
7
|
+
ignore 'lib/japanese_address_parser/csv_parser.rb'
|
8
|
+
|
9
|
+
configure_code_diagnostics(::Steep::Diagnostic::Ruby.strict)
|
10
|
+
end
|
11
|
+
|
12
|
+
target :test do
|
13
|
+
signature 'sig'
|
14
|
+
|
15
|
+
check 'spec'
|
16
|
+
|
17
|
+
configure_code_diagnostics(::Steep::Diagnostic::Ruby.strict)
|
18
|
+
end
|
data/docker-compose.yml
CHANGED
@@ -38,5 +38,7 @@ require_relative 'lib/japanese_address_parser/version'
|
|
38
38
|
spec.add_development_dependency('rubocop')
|
39
39
|
spec.add_development_dependency('rubocop-rake')
|
40
40
|
spec.add_development_dependency('rubocop-rspec')
|
41
|
+
spec.add_development_dependency('steep')
|
42
|
+
spec.add_development_dependency('typeprof')
|
41
43
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
42
44
|
end
|
data/lib/japanese_address_parser/address_normalizer/normalize_japanese_addresses_schmoozer.rb
CHANGED
@@ -5,10 +5,12 @@ require 'schmooze'
|
|
5
5
|
module JapaneseAddressParser
|
6
6
|
module AddressNormalizer
|
7
7
|
class NormalizeJapaneseAddressesSchmoozer < ::Schmooze::Base
|
8
|
-
|
8
|
+
current_dir = __dir__ || ''
|
9
|
+
|
10
|
+
JS_PACKAGE_PATH = ::File.expand_path('../../../js', current_dir)
|
9
11
|
public_constant :JS_PACKAGE_PATH
|
10
12
|
|
11
|
-
JAPANESE_API_PATH = "file://#{::File.expand_path('../data/geolonia-japanese-addresses/api/ja',
|
13
|
+
JAPANESE_API_PATH = "file://#{::File.expand_path('../data/geolonia-japanese-addresses/api/ja', current_dir)}"
|
12
14
|
public_constant :JAPANESE_API_PATH
|
13
15
|
|
14
16
|
dependencies normalize_japanese_addresses: '@geolonia/normalize-japanese-addresses'
|
@@ -1,4 +1,81 @@
|
|
1
|
+
# TypeProf 0.21.3
|
2
|
+
|
3
|
+
# Classes
|
1
4
|
module JapaneseAddressParser
|
2
5
|
VERSION: String
|
3
|
-
|
6
|
+
|
7
|
+
def self.call: (String full_address) -> Models::Address?
|
8
|
+
def self.call!: (String full_address) -> Models::Address
|
9
|
+
def self._call: (String full_address) -> Models::Address
|
10
|
+
|
11
|
+
module AddressNormalizer
|
12
|
+
def self.call: (String full_address) -> String
|
13
|
+
|
14
|
+
class NormalizeJapaneseAddressesSchmoozer < Schmooze::Base
|
15
|
+
JS_PACKAGE_PATH: String
|
16
|
+
JAPANESE_API_PATH: String
|
17
|
+
|
18
|
+
def self.call: (String full_address) -> String
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
module Models
|
23
|
+
class Address
|
24
|
+
def initialize: (full_address: String, prefecture: String, city: String, town: String) -> void
|
25
|
+
def furigana: -> String
|
26
|
+
attr_reader full_address: String
|
27
|
+
attr_reader prefecture: String
|
28
|
+
attr_reader city: String
|
29
|
+
attr_reader town: String
|
30
|
+
end
|
31
|
+
|
32
|
+
class Town
|
33
|
+
def initialize: (name: String, name_kana: String, name_romaji: String, nickname: String, latitude: String, longitude: String) -> void
|
34
|
+
def attributes: -> {name: String, name_kana: String, name_romaji: String, nickname: String, latitude: String, longitude: String}
|
35
|
+
attr_reader name: String
|
36
|
+
attr_reader name_kana: String
|
37
|
+
attr_reader name_romaji: String
|
38
|
+
attr_reader nickname: String
|
39
|
+
attr_reader latitude: String
|
40
|
+
attr_reader longitude: String
|
41
|
+
end
|
42
|
+
|
43
|
+
class City
|
44
|
+
def initialize: (code: String, prefecture_code: String, name: String, name_kana: String, name_romaji: String) -> void
|
45
|
+
def formatted_code: -> String
|
46
|
+
def attributes: -> {code: String, prefecture_code: String, name: String, name_kana: String, name_romaji: String}
|
47
|
+
def prefecture: -> Models::Prefecture?
|
48
|
+
def towns: -> Array[Models::Town]
|
49
|
+
attr_reader code: String
|
50
|
+
attr_reader prefecture_code: String
|
51
|
+
attr_reader name: String
|
52
|
+
attr_reader name_kana: String
|
53
|
+
attr_reader name_romaji: String
|
54
|
+
end
|
55
|
+
|
56
|
+
class Prefecture
|
57
|
+
def self.all: -> Array[Models::Prefecture]
|
58
|
+
def initialize: (code: String, name: String, name_kana: String, name_romaji: String) -> void
|
59
|
+
def attributes: -> {code: String, name: String, name_kana: String, name_romaji: String}
|
60
|
+
def cities: -> Array[Models::City]
|
61
|
+
attr_reader code: String
|
62
|
+
attr_reader name: String
|
63
|
+
attr_reader name_kana: String
|
64
|
+
attr_reader name_romaji: String
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
module CsvParser
|
69
|
+
HEADER_MAP: Hash[String, Symbol]
|
70
|
+
|
71
|
+
def self.call: -> Hash[untyped, untyped]
|
72
|
+
def self._find_or_build_prefecture: (Array[untyped] prefectures, untyped row) -> Models::Prefecture
|
73
|
+
def self._find_or_build_city: (Array[untyped] cities, Models::Prefecture current_prefecture, untyped row) -> Models::City
|
74
|
+
def self._find_town: (Array[untyped] towns, untyped row) -> nil
|
75
|
+
def self._build_town: (untyped row) -> Models::Town
|
76
|
+
def self._write_csv: (Hash[untyped, untyped] prefectures) -> Hash[untyped, untyped]
|
77
|
+
def self._write_prefectures_csv: (Array[untyped] prefectures) -> Array[untyped]
|
78
|
+
def self._write_cities_csv: (bot prefecture, untyped cities) -> untyped
|
79
|
+
def self._write_towns_csv: (untyped prefecture, untyped city, untyped towns) -> untyped
|
80
|
+
end
|
4
81
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Schmooze
|
2
|
+
class Base
|
3
|
+
def self.dependencies: (untyped deps) -> untyped
|
4
|
+
|
5
|
+
def self.finalize: (untyped stdin, untyped stdout, untyped stderr, untyped process_thread) -> untyped
|
6
|
+
|
7
|
+
def self.method: (untyped name, untyped code) -> untyped
|
8
|
+
|
9
|
+
public
|
10
|
+
|
11
|
+
def pid: () -> untyped
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def call_js_method: (untyped method, untyped args) -> untyped
|
16
|
+
|
17
|
+
def ensure_packages_are_initiated: (untyped stdin, untyped stdout, untyped stderr, untyped process_thread) -> untyped
|
18
|
+
|
19
|
+
def ensure_process_is_spawned: () -> untyped
|
20
|
+
|
21
|
+
def initialize: (untyped root, ?untyped env) -> void
|
22
|
+
|
23
|
+
def spawn_process: () -> untyped
|
24
|
+
end
|
25
|
+
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: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yamaguchi Takuya
|
@@ -122,6 +122,34 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: steep
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: typeprof
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
125
153
|
description: JapaneseAddressParser is a Ruby gem that parses Japanese address. To
|
126
154
|
detect the address, it uses geolonia/japanese-addresses (https://github.com/geolonia/japanese-addresses)
|
127
155
|
CSV data.
|
@@ -142,6 +170,7 @@ files:
|
|
142
170
|
- LICENSE.txt
|
143
171
|
- README.md
|
144
172
|
- Rakefile
|
173
|
+
- Steepfile
|
145
174
|
- bin/console
|
146
175
|
- bin/setup
|
147
176
|
- docker-compose.yml
|
@@ -4103,6 +4132,7 @@ files:
|
|
4103
4132
|
- lib/japanese_address_parser/models/town.rb
|
4104
4133
|
- lib/japanese_address_parser/version.rb
|
4105
4134
|
- sig/japanese_address_parser.rbs
|
4135
|
+
- sig/schmooze_base.rbs
|
4106
4136
|
homepage: https://github.com/yamat47/japanese_address_parser
|
4107
4137
|
licenses:
|
4108
4138
|
- MIT
|