Aggiunge fatturazione club, pagina regia condivisibile senza account, roster squadre e rimuove la modalità controller dall'app (v1.1.0). Co-authored-by: Cursor <cursoragent@cursor.com>
28 lines
721 B
Ruby
28 lines
721 B
Ruby
module Billing
|
|
module Stripe
|
|
module SubscriptionPeriod
|
|
module_function
|
|
|
|
def times(stripe_sub)
|
|
item = stripe_sub.items&.data&.first
|
|
start_at = read_value(stripe_sub, :current_period_start) || read_value(item, :current_period_start)
|
|
end_at = read_value(stripe_sub, :current_period_end) || read_value(item, :current_period_end)
|
|
[unix_time(start_at), unix_time(end_at)]
|
|
end
|
|
|
|
def read_value(object, field)
|
|
return nil if object.blank?
|
|
return nil unless object.respond_to?(field)
|
|
|
|
object.public_send(field)
|
|
end
|
|
|
|
def unix_time(value)
|
|
return nil if value.blank?
|
|
|
|
Time.zone.at(value.to_i)
|
|
end
|
|
end
|
|
end
|
|
end
|