zengin_lite 0.1.0
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 +7 -0
- data/.yardoc/checksums +5 -0
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/.yardopts +3 -0
- data/Gemfile +2 -0
- data/LICENSE.txt +21 -0
- data/README.md +91 -0
- data/Rakefile +24 -0
- data/data/zengin.db +0 -0
- data/doc/ZenginLite/Bank.html +1008 -0
- data/doc/ZenginLite/Branch.html +929 -0
- data/doc/ZenginLite/Database.html +832 -0
- data/doc/ZenginLite/Error.html +124 -0
- data/doc/ZenginLite.html +492 -0
- data/doc/_index.html +159 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +490 -0
- data/doc/file.README.html +186 -0
- data/doc/file_list.html +59 -0
- data/doc/frames.html +22 -0
- data/doc/index.html +186 -0
- data/doc/js/app.js +395 -0
- data/doc/js/full_list.js +244 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +358 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/zengin_lite/bank.rb +65 -0
- data/lib/zengin_lite/branch.rb +47 -0
- data/lib/zengin_lite/database.rb +91 -0
- data/lib/zengin_lite/version.rb +3 -0
- data/lib/zengin_lite.rb +44 -0
- data/zengin_lite.gemspec +42 -0
- metadata +153 -0
data/lib/zengin_lite.rb
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require 'sqlite3'
|
|
2
|
+
require_relative 'zengin_lite/version'
|
|
3
|
+
require_relative 'zengin_lite/database'
|
|
4
|
+
require_relative 'zengin_lite/bank'
|
|
5
|
+
require_relative 'zengin_lite/branch'
|
|
6
|
+
|
|
7
|
+
module ZenginLite
|
|
8
|
+
DB_PATH = File.expand_path('../data/zengin.db', __dir__)
|
|
9
|
+
|
|
10
|
+
class Error < StandardError; end
|
|
11
|
+
|
|
12
|
+
class << self
|
|
13
|
+
# Find bank by code
|
|
14
|
+
def bank(code)
|
|
15
|
+
row = Database.find_bank(code: code)
|
|
16
|
+
Bank.from_row(row)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Search banks by name or kana
|
|
20
|
+
def search_banks(name: nil, kana: nil, limit: 10)
|
|
21
|
+
Database.search_banks(name: name, kana: kana, limit: limit).map do |row|
|
|
22
|
+
Bank.from_row(row)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Iterate through all banks (memory efficient)
|
|
27
|
+
def each_bank(&block)
|
|
28
|
+
Database.each_bank do |row|
|
|
29
|
+
block.call(Bank.from_row(row))
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Find branch by bank code and branch code
|
|
34
|
+
def branch(bank_code:, branch_code:)
|
|
35
|
+
row = Database.find_branch(bank_code: bank_code, branch_code: branch_code)
|
|
36
|
+
Branch.from_row(row)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Get database statistics
|
|
40
|
+
def stats
|
|
41
|
+
Database.stats
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
data/zengin_lite.gemspec
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require_relative 'lib/zengin_lite/version'
|
|
2
|
+
|
|
3
|
+
Gem::Specification.new do |spec|
|
|
4
|
+
spec.name = 'zengin_lite'
|
|
5
|
+
spec.version = ZenginLite::VERSION
|
|
6
|
+
spec.authors = ['Hiroyuki Kuromiya']
|
|
7
|
+
spec.email = ['contact@kromiii.info']
|
|
8
|
+
|
|
9
|
+
spec.summary = 'Lightweight Japanese bank and branch code database'
|
|
10
|
+
spec.description = 'A modern, fast, and memory-efficient implementation of Japanese bank code (Zengin Code) database with flexible query capabilities'
|
|
11
|
+
spec.homepage = 'https://github.com/kromiii/zengin-lite'
|
|
12
|
+
spec.license = 'MIT'
|
|
13
|
+
spec.required_ruby_version = '>= 2.7.0'
|
|
14
|
+
|
|
15
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
16
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
|
17
|
+
spec.metadata['changelog_uri'] = "#{spec.homepage}/blob/main/CHANGELOG.md"
|
|
18
|
+
|
|
19
|
+
# Specify which files should be added to the gem
|
|
20
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
21
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
22
|
+
f.match(%r{^(test|spec|features|source-data|scripts|\.github)/}) ||
|
|
23
|
+
f.match(%r{^\.git})
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Include the SQLite database
|
|
28
|
+
spec.files << 'data/zengin.db' if File.exist?('data/zengin.db')
|
|
29
|
+
|
|
30
|
+
spec.bindir = 'exe'
|
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
32
|
+
spec.require_paths = ['lib']
|
|
33
|
+
|
|
34
|
+
# Runtime dependencies
|
|
35
|
+
spec.add_runtime_dependency 'sqlite3', '>= 1.4'
|
|
36
|
+
|
|
37
|
+
# Development dependencies
|
|
38
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
39
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
|
40
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
|
41
|
+
spec.add_development_dependency 'yard', '~> 0.9'
|
|
42
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: zengin_lite
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Hiroyuki Kuromiya
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-02-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: sqlite3
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.4'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.4'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: bundler
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '2.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '2.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '13.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '13.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: minitest
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '5.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '5.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: yard
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0.9'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0.9'
|
|
83
|
+
description: A modern, fast, and memory-efficient implementation of Japanese bank
|
|
84
|
+
code (Zengin Code) database with flexible query capabilities
|
|
85
|
+
email:
|
|
86
|
+
- contact@kromiii.info
|
|
87
|
+
executables: []
|
|
88
|
+
extensions: []
|
|
89
|
+
extra_rdoc_files: []
|
|
90
|
+
files:
|
|
91
|
+
- ".yardoc/checksums"
|
|
92
|
+
- ".yardoc/complete"
|
|
93
|
+
- ".yardoc/object_types"
|
|
94
|
+
- ".yardoc/objects/root.dat"
|
|
95
|
+
- ".yardoc/proxy_types"
|
|
96
|
+
- ".yardopts"
|
|
97
|
+
- Gemfile
|
|
98
|
+
- LICENSE.txt
|
|
99
|
+
- README.md
|
|
100
|
+
- Rakefile
|
|
101
|
+
- data/zengin.db
|
|
102
|
+
- doc/ZenginLite.html
|
|
103
|
+
- doc/ZenginLite/Bank.html
|
|
104
|
+
- doc/ZenginLite/Branch.html
|
|
105
|
+
- doc/ZenginLite/Database.html
|
|
106
|
+
- doc/ZenginLite/Error.html
|
|
107
|
+
- doc/_index.html
|
|
108
|
+
- doc/class_list.html
|
|
109
|
+
- doc/css/common.css
|
|
110
|
+
- doc/css/full_list.css
|
|
111
|
+
- doc/css/style.css
|
|
112
|
+
- doc/file.README.html
|
|
113
|
+
- doc/file_list.html
|
|
114
|
+
- doc/frames.html
|
|
115
|
+
- doc/index.html
|
|
116
|
+
- doc/js/app.js
|
|
117
|
+
- doc/js/full_list.js
|
|
118
|
+
- doc/js/jquery.js
|
|
119
|
+
- doc/method_list.html
|
|
120
|
+
- doc/top-level-namespace.html
|
|
121
|
+
- lib/zengin_lite.rb
|
|
122
|
+
- lib/zengin_lite/bank.rb
|
|
123
|
+
- lib/zengin_lite/branch.rb
|
|
124
|
+
- lib/zengin_lite/database.rb
|
|
125
|
+
- lib/zengin_lite/version.rb
|
|
126
|
+
- zengin_lite.gemspec
|
|
127
|
+
homepage: https://github.com/kromiii/zengin-lite
|
|
128
|
+
licenses:
|
|
129
|
+
- MIT
|
|
130
|
+
metadata:
|
|
131
|
+
homepage_uri: https://github.com/kromiii/zengin-lite
|
|
132
|
+
source_code_uri: https://github.com/kromiii/zengin-lite
|
|
133
|
+
changelog_uri: https://github.com/kromiii/zengin-lite/blob/main/CHANGELOG.md
|
|
134
|
+
post_install_message:
|
|
135
|
+
rdoc_options: []
|
|
136
|
+
require_paths:
|
|
137
|
+
- lib
|
|
138
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
139
|
+
requirements:
|
|
140
|
+
- - ">="
|
|
141
|
+
- !ruby/object:Gem::Version
|
|
142
|
+
version: 2.7.0
|
|
143
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
|
+
requirements:
|
|
145
|
+
- - ">="
|
|
146
|
+
- !ruby/object:Gem::Version
|
|
147
|
+
version: '0'
|
|
148
|
+
requirements: []
|
|
149
|
+
rubygems_version: 3.5.22
|
|
150
|
+
signing_key:
|
|
151
|
+
specification_version: 4
|
|
152
|
+
summary: Lightweight Japanese bank and branch code database
|
|
153
|
+
test_files: []
|