class Burglar::Heist

Collection of banks

Public Class Methods

new(params = {}) click to toggle source
# File lib/burglar/heist.rb, line 11
def initialize(params = {})
  @options = load_options(params)
end

Public Instance Methods

banks() click to toggle source
# File lib/burglar/heist.rb, line 15
def banks
  @banks ||= @options[:banks].transform_values do |v|
    Burglar::Bank.new(@options.merge(v))
  end
end
transactions() click to toggle source
# File lib/burglar/heist.rb, line 21
def transactions
  @transactions ||= Ledger.new(
    entries: banks.map { |_, v| v.transactions.entries }.flatten.sort
  )
end

Private Instance Methods

load_config(file) click to toggle source
# File lib/burglar/heist.rb, line 29
def load_config(file)
  file ||= DEFAULT_CONFIG_FILE
  file = File.expand_path file
  Cymbal.symbolize YAML.safe_load(File.read(file))
end
load_options(params) click to toggle source
# File lib/burglar/heist.rb, line 35
def load_options(params)
  load_config(params[:config]).merge(params)
end