Sha256: 376b5893ddd2bb2c055a8771fd8f48c128cf5d88a349c930209f1158335b0e1d

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require 'webmock'
require 'fake_chargify/string_patches'
require 'fake_chargify/customer_registry'
require 'fake_chargify/subscription_registry'
require 'fake_chargify/statement_registry'
require 'fake_chargify/configuration'

module FakeChargify
  VERSION = '0.1.0'
  
  class << self
    attr_accessor :customers, :subscriptions, :statements
  end
  
  def self.clear!
    self.customers = CustomerRegistry.new
    self.subscriptions = SubscriptionRegistry.new
    self.statements = StatementRegistry.new
  end
  
  def self.activate!
    self.activate = true
  end
  
  def self.activate=(activate)
    if activate
      WebMock.disable_net_connect!(:allow_localhost => true)
      self.clear!
      
      self.customers.stub_requests!
      self.subscriptions.stub_requests!
      self.statements.stub_requests!
    else
      WebMock.allow_net_connect!
    end
  end
  
  def self.configuration
    @configuration ||= FakeChargify::Configuration.new
  end
  
  def self.configure
    yield configuration if block_given?
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fake_chargify-0.1.0 lib/fake_chargify.rb