3
4
5
6
7
8
9
10
11
12
13
|
# File 'lib/hledger_forecast/generator.rb', line 3
def self.generate(csv_string, cli_options = nil)
forecast = Forecast.parse(csv_string, cli_options)
transactions = forecast.transactions
if cli_options&.dig(:tags)
raise "The --tags option requires a 'tag' column in the forecast CSV" unless forecast.has_tags_column?
transactions = transactions.select { |t| t.matches_tags?(cli_options[:tags]) }
end
Transactions::Default.render(build_groups(transactions, forecast.settings), forecast.settings)
end
|