Module: StripeMock::RequestHandlers::Payouts

Included in:
Instance
Defined in:
lib/stripe_mock/request_handlers/payouts.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



5
6
7
8
9
10
# File 'lib/stripe_mock/request_handlers/payouts.rb', line 5

def Payouts.included(klass)
  klass.add_handler 'post /v1/payouts',            :new_payout
  klass.add_handler 'post /v1/payouts/(.*)',       :update_payout
  klass.add_handler 'get /v1/payouts',             :list_payouts
  klass.add_handler 'get /v1/payouts/(.*)',        :get_payout
end

Instance Method Details

#get_payout(route, method_url, params, headers) ⇒ Object



32
33
34
35
36
# File 'lib/stripe_mock/request_handlers/payouts.rb', line 32

def get_payout(route, method_url, params, headers)
  route =~ method_url
  assert_existence :payout, $1, payouts[$1]
  payouts[$1] ||= Data.mock_payout(:id => $1)
end

#list_payouts(route, method_url, params, headers) ⇒ Object



28
29
30
# File 'lib/stripe_mock/request_handlers/payouts.rb', line 28

def list_payouts(route, method_url, params, headers)
  Data.mock_list_object(payouts.clone.values, params)
end

#new_payout(route, method_url, params, headers) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/stripe_mock/request_handlers/payouts.rb', line 12

def new_payout(route, method_url, params, headers)
  params[:id] ||= new_id("po")

  unless (params[:amount].is_a?(Integer) && params[:amount].positive?) || (params[:amount].is_a?(String) && /^\d+$/.match(params[:amount]))
    raise Stripe::InvalidRequestError.new("Invalid integer: #{params[:amount]}", 'amount', http_status: 400)
  end

  payouts[params[:id]] = Data.mock_payout(params.merge :id => params[:id])
end

#update_payout(route, method_url, params, headers) ⇒ Object



22
23
24
25
26
# File 'lib/stripe_mock/request_handlers/payouts.rb', line 22

def update_payout(route, method_url, params, headers)
  route =~ method_url
  assert_existence :payout, $1, payouts[$1]
  payouts[$1].merge!(params)
end