Sha256: 738b52bb254ae5d208fbcfb39d9a41449d49ebd633aeb7f8ca32dda7263adfb5

Contents?: true

Size: 620 Bytes

Versions: 5

Compression:

Stored size: 620 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[:base] << e.message
        return plan
      end

      return plan
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tang-0.2.0 app/services/tang/create_plan.rb
tang-0.1.0 app/services/tang/create_plan.rb
tang-0.0.9 app/services/tang/create_plan.rb
tang-0.0.8 app/services/tang/create_plan.rb
tang-0.0.1 app/services/tang/create_plan.rb