internetee-registry/app/interactions/domains/check_balance/single_domain.rb
2021-01-22 12:54:20 +02:00

27 lines
670 B
Ruby

module Domains
module CheckBalance
class SingleDomain < ActiveInteraction::Base
object :domain,
class: Epp::Domain
string :operation
integer :period
string :unit
def execute
return domain_pricelist.price.amount if domain_pricelist.try(:price)
domain.add_epp_error(2104, nil, nil, I18n.t(:active_price_missing_for_this_operation))
errors.add(:domain, I18n.t(:active_price_missing_for_operation_with_domain,
domain: domain.name))
false
end
private
def domain_pricelist
domain.pricelist(operation, period.try(:to_i), unit)
end
end
end
end