Sha256: e17c7ad6368837009ac73d63a2ca3281cc087e27b28434f5fd9d3ec255c07c6c

Contents?: true

Size: 641 Bytes

Versions: 2

Compression:

Stored size: 641 Bytes

Contents

module Tang
  class CreatePlan
    def self.call(plan)
      if !plan.valid?
        return plan
      end

      begin
        Stripe::Plan.create(
          id: plan.stripe_id,
          name: plan.name,
          currency: plan.currency,
          amount: plan.amount,
          interval: plan.interval,
          interval_count: plan.interval_count,
          trial_period_days: plan.trial_period_days,
          statement_descriptor: plan.statement_descriptor,
        )
      rescue Stripe::StripeError => e
        plan.errors.add(:base, :invalid, message: e.message)
        return plan
      end

      return plan
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tang-0.2.2 app/services/tang/create_plan.rb
tang-0.2.1 app/services/tang/create_plan.rb