Sha256: e26de947f408bf938a62a745ebd23409d9ef9a5780e9e2ada4584faf028f8c4f

Contents?: true

Size: 758 Bytes

Versions: 5

Compression:

Stored size: 758 Bytes

Contents

require "paypal"

module SubscriptionFu
  class Config
    attr_accessor :plan_class_name, :paypal_api_user_id, :paypal_api_pwd, :paypal_api_sig
    attr_reader :available_plans

    def initialize
      @available_plans = {}
      @plan_class_name = "SubscriptionFu::Plan"
      paypal_use_production!
      ::Paypal.logger = Rails.logger
    end

    def paypal_use_sandbox!
      ::Paypal.sandbox = true
    end

    def paypal_use_production!
      ::Paypal.sandbox = false
    end

    def add_plan(key, price, data = {})
      available_plans[key] = plan_class.new(key, price, data)
    end

    def add_free_plan(key, data = {})
      add_plan(key, 0, data)
    end

    private

    def plan_class
      plan_class_name.constantize
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
subscription_fu-0.4.0 lib/subscription_fu/config.rb
subscription_fu-0.3.1 lib/subscription_fu/config.rb
subscription_fu-0.3.0 lib/subscription_fu/config.rb
subscription_fu-0.2.1 lib/subscription_fu/config.rb
subscription_fu-0.2.0 lib/subscription_fu/config.rb