37ade2a988
Reviewed-on: #362 Co-authored-by: miteruzo <miteruzo@naver.com> Co-committed-by: miteruzo <miteruzo@naver.com>
23 行
538 B
Ruby
23 行
538 B
Ruby
module Gekanator
|
|
class AiRunBudget
|
|
MONTHLY_LIMIT_JPY = BigDecimal('450').freeze
|
|
MAX_RUN_ESTIMATED_COST_JPY = BigDecimal('5').freeze
|
|
|
|
def self.remaining_monthly_budget_jpy
|
|
MONTHLY_LIMIT_JPY - monthly_cost_jpy
|
|
end
|
|
|
|
def self.monthly_cost_jpy
|
|
GekanatorAiRun.this_month.sum(:estimated_cost_jpy)
|
|
end
|
|
|
|
def self.exceeded?
|
|
monthly_cost_jpy >= MONTHLY_LIMIT_JPY
|
|
end
|
|
|
|
def self.exceeded_after_next_run?
|
|
monthly_cost_jpy + MAX_RUN_ESTIMATED_COST_JPY >= MONTHLY_LIMIT_JPY
|
|
end
|
|
end
|
|
end
|