Sha256: 4169de96958ee00fe785b665a0477296d67bf7410f52cb0e009574ccfb861de3

Contents?: true

Size: 1.39 KB

Versions: 47

Compression:

Stored size: 1.39 KB

Contents

module ForestLiana
  class StripeSubscriptionsGetter < StripeBaseGetter
    attr_accessor :records

    def initialize(params, secret_key, reference)
      @params = params
      Stripe.api_key = ForestLiana.integrations[:stripe][:api_key]
    end

    def count
      @subscriptions.try(:total_count) || 0
    end

    def perform
      query = {
        limit: limit,
        starting_after: starting_after,
        ending_before: ending_before
      }

      if @params[:id] && collection && field
        resource = collection.find(@params[:id])
        query[:customer] = resource[field]
      end

      query['include[]'] = 'total_count'
      @subscriptions = fetch_subscriptions(query)
      if @subscriptions.blank?
        @records = []
        return
      end

      @records = @subscriptions.data.map do |d|
        query = {}
        query[field] = d.customer
        if collection
          d.customer = collection.find_by(query)
        else
          d.customer = nil
        end

        d
      end
    end

    def fetch_subscriptions(params)
      return if @params[:id] && params[:customer].blank?
      Stripe::Subscription.all(params)
    end

    def starting_after
      if pagination? && @params[:starting_after]
        @params[:starting_after]
      end
    end

    def ending_before
      if pagination? && @params[:ending_before]
        @params[:ending_before]
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
forest_liana-2.4.9 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.8 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.7 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.6 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.5 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.4 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.3 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.2 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.1 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.4.0 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.3.5 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.3.4 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.3.3 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.3.2 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.3.1 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.3.0 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.2.2 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.2.1 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.2.0 app/services/forest_liana/stripe_subscriptions_getter.rb
forest_liana-2.1.1 app/services/forest_liana/stripe_subscriptions_getter.rb