我有一个红宝石方法:
def build_total_sum(day)
TotalSumBuilder.new(
recurring_expenses: recurring_payments_data,
expense_contracts: expense_contracts_data,
day: day
).build
end
我想扩展它以调用与builderTotalSumBuilder 不同的方法。我的目标是:
def initialize(day)
@day = day
end
def call
date.map do |day|
{
day: day,
total_sum: build_total_sum(day, build),
revenues_sum: build_total_sum(day, revenues_sum),
expenses_sum: build_total_sum(day, revenues_sum)
}
end
end
def build_total_sum(day, method_name)
TotalSumBuilder.new(
recurring_expenses: recurring_payments_data,
expense_contracts: expense_contracts_data,
day: day
).method_name
end
TotalSumBuilder.new.TotalSumBuilder.new.expenses_sum并将TotalSumBuilder.new.expenses_sum由 call 方法触发。
如果我像在顶部一样离开,我会收到一个错误:
SystemStackError (stack level too deep):