Sha256: 20a5811ac6c2dfd811c2c1e75585da9aab5d285d28629febf27aa9011035206b
Contents?: true
Size: 571 Bytes
Versions: 3
Compression:
Stored size: 571 Bytes
Contents
module Susply module Prorate def self.call(subscription) return 0 unless subscription.active? plan = subscription.plan days = used_days(subscription) calculate_used_amount(plan, days) end def self.used_days(subscription) (Time.zone.today.to_date - subscription.current_period_start.to_date).to_i end def self.calculate_used_amount(plan, used_days) if plan.interval == "yearly" (plan.price * 1.2 * used_days / 365).ceil else (plan.price * used_days / 30.0).ceil end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
susply-1.0.0 | app/services/susply/prorate.rb |
susply-0.0.2 | app/services/susply/prorate.rb |
susply-0.0.1 | app/services/susply/prorate.rb |