Module: ZenginLite

Defined in:
lib/zengin_lite.rb,
lib/zengin_lite/bank.rb,
lib/zengin_lite/branch.rb,
lib/zengin_lite/version.rb,
lib/zengin_lite/database.rb

Defined Under Namespace

Classes: Bank, Branch, Database, Error

Constant Summary collapse

DB_PATH =
File.expand_path('../data/zengin.db', __dir__)
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.bank(code) ⇒ Object

Find bank by code



14
15
16
17
# File 'lib/zengin_lite.rb', line 14

def bank(code)
  row = Database.find_bank(code: code)
  Bank.from_row(row)
end

.branch(bank_code:, branch_code:) ⇒ Object

Find branch by bank code and branch code



34
35
36
37
# File 'lib/zengin_lite.rb', line 34

def branch(bank_code:, branch_code:)
  row = Database.find_branch(bank_code: bank_code, branch_code: branch_code)
  Branch.from_row(row)
end

.each_bank(&block) ⇒ Object

Iterate through all banks (memory efficient)



27
28
29
30
31
# File 'lib/zengin_lite.rb', line 27

def each_bank(&block)
  Database.each_bank do |row|
    block.call(Bank.from_row(row))
  end
end

.search_banks(name: nil, kana: nil, limit: 10) ⇒ Object

Search banks by name or kana



20
21
22
23
24
# File 'lib/zengin_lite.rb', line 20

def search_banks(name: nil, kana: nil, limit: 10)
  Database.search_banks(name: name, kana: kana, limit: limit).map do |row|
    Bank.from_row(row)
  end
end

.statsObject

Get database statistics



40
41
42
# File 'lib/zengin_lite.rb', line 40

def stats
  Database.stats
end