Module: StripeMock
- Defined in:
- lib/stripe_mock/data.rb,
lib/stripe_mock/client.rb,
lib/stripe_mock/server.rb,
lib/stripe_mock/version.rb,
lib/stripe_mock/instance.rb,
lib/stripe_mock/api/client.rb,
lib/stripe_mock/api/errors.rb,
lib/stripe_mock/api/instance.rb,
lib/stripe_mock/request_handlers/plans.rb,
lib/stripe_mock/errors/stripe_mock_error.rb,
lib/stripe_mock/request_handlers/charges.rb,
lib/stripe_mock/request_handlers/customers.rb,
lib/stripe_mock/errors/server_timeout_error.rb,
lib/stripe_mock/request_handlers/invoice_items.rb,
lib/stripe_mock/errors/uninitialized_instance_error.rb,
lib/stripe_mock/errors/closed_client_connection_error.rb
Defined Under Namespace
Modules: Data, RequestHandlers
Classes: Client, ClosedClientConnectionError, Instance, Server, ServerTimeoutError, StripeMockError, UninitializedInstanceError
Constant Summary
collapse
- VERSION =
"1.8.3.4"
Class Method Summary
collapse
Class Method Details
.alias_stripe_method(new_name, method_object) ⇒ Object
20
21
22
|
# File 'lib/stripe_mock/api/instance.rb', line 20
def self.alias_stripe_method(new_name, method_object)
Stripe.define_singleton_method(new_name) {|*args| method_object.call(*args) }
end
|
.client ⇒ Object
3
|
# File 'lib/stripe_mock/api/client.rb', line 3
def self.client; @client; end
|
.instance ⇒ Object
24
|
# File 'lib/stripe_mock/api/instance.rb', line 24
def self.instance; @instance; end
|
.prepare_card_error(code) ⇒ Object
8
9
10
11
12
|
# File 'lib/stripe_mock/api/errors.rb', line 8
def self.prepare_card_error(code)
args = card_error_args[code]
raise StripeMockError.new("Unrecognized stripe card error code: #{code}") if args.nil?
self.prepare_error Stripe::CardError.new(*args)
end
|
.prepare_error(stripe_error) ⇒ Object
3
4
5
6
|
# File 'lib/stripe_mock/api/errors.rb', line 3
def self.prepare_error(stripe_error)
raise UninitializedInstanceError if instance.nil?
instance.pending_error = stripe_error
end
|
.start ⇒ Object
7
8
9
10
11
|
# File 'lib/stripe_mock/api/instance.rb', line 7
def self.start
@instance = Instance.new
alias_stripe_method :request, @instance.method(:mock_request)
@state = 'local'
end
|
.start_client(port = 4999) ⇒ Object
5
6
7
8
9
10
|
# File 'lib/stripe_mock/api/client.rb', line 5
def self.start_client(port=4999)
alias_stripe_method :request, StripeMock.method(:redirect_to_mock_server)
@client = Client.new(port)
@state = 'remote'
@client
end
|
.start_server(port = 4999) ⇒ Object
6
7
8
9
10
11
12
13
14
|
# File 'lib/stripe_mock/server.rb', line 6
def self.start_server(port=4999)
server = Jimson::Server.new(Server.new,
:host => '0.0.0.0',
:port => port,
:server => :thin,
:show_errors => true
)
server.start
end
|
.state ⇒ Object
25
|
# File 'lib/stripe_mock/api/instance.rb', line 25
def self.state; @state; end
|
.stop ⇒ Object
13
14
15
16
17
18
|
# File 'lib/stripe_mock/api/instance.rb', line 13
def self.stop
return unless @state == 'local'
alias_stripe_method :request, @original_request_method
@instance = nil
@state = 'ready'
end
|
.stop_client(opts = {}) ⇒ Object
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/stripe_mock/api/client.rb', line 12
def self.stop_client(opts={})
return false unless @state == 'remote'
@state = 'ready'
alias_stripe_method :request, @original_request_method
@client.clear_data if opts[:clear_server_data] == true
@client.close!
@client = nil
true
end
|