Module: StripeMock::RequestHandlers::Customers
- Included in:
- Instance
- Defined in:
- lib/stripe_mock/request_handlers/customers.rb
Class Method Summary collapse
Instance Method Summary collapse
- #delete_customer(route, method_url, params, headers) ⇒ Object
- #get_customer(route, method_url, params, headers) ⇒ Object
- #list_customers(route, method_url, params, headers) ⇒ Object
- #new_customer(route, method_url, params, headers) ⇒ Object
- #update_customer(route, method_url, params, headers) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/stripe_mock/request_handlers/customers.rb', line 5 def Customers.included(klass) klass.add_handler 'post /v1/customers', :new_customer klass.add_handler 'post /v1/customers/(.*)', :update_customer klass.add_handler 'get /v1/customers/(.*)', :get_customer klass.add_handler 'delete /v1/customers/(.*)', :delete_customer klass.add_handler 'get /v1/customers', :list_customers end |
Instance Method Details
#delete_customer(route, method_url, params, headers) ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/stripe_mock/request_handlers/customers.rb', line 56 def delete_customer(route, method_url, params, headers) route =~ method_url assert_existence :customer, $1, customers[$1] customers[$1] = { id: customers[$1][:id], deleted: true } end |
#get_customer(route, method_url, params, headers) ⇒ Object
66 67 68 69 |
# File 'lib/stripe_mock/request_handlers/customers.rb', line 66 def get_customer(route, method_url, params, headers) route =~ method_url assert_existence :customer, $1, customers[$1] end |
#list_customers(route, method_url, params, headers) ⇒ Object
71 72 73 |
# File 'lib/stripe_mock/request_handlers/customers.rb', line 71 def list_customers(route, method_url, params, headers) Data.mock_list_object(customers.values, params) end |
#new_customer(route, method_url, params, headers) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/stripe_mock/request_handlers/customers.rb', line 13 def new_customer(route, method_url, params, headers) params[:id] ||= new_id('cus') sources = [] if params[:source] sources << get_card_by_token(params.delete(:source)) params[:default_source] = sources.first[:id] end customers[ params[:id] ] = Data.mock_customer(sources, params) if params[:plan] plan_id = params[:plan].to_s plan = assert_existence :plan, plan_id, plans[plan_id] if params[:default_source].nil? && plan[:trial_period_days].nil? && plan[:amount] != 0 raise Stripe::InvalidRequestError.new('You must supply a valid card', nil, 400) end subscription = Data.mock_subscription({ id: new_id('su') }) subscription.merge!(custom_subscription_params(plan, customers[ params[:id] ], params)) add_subscription_to_customer(customers[ params[:id] ], subscription) elsif params[:trial_end] raise Stripe::InvalidRequestError.new('Received unknown parameter: trial_end', nil, 400) end customers[ params[:id] ] end |
#update_customer(route, method_url, params, headers) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/stripe_mock/request_handlers/customers.rb', line 42 def update_customer(route, method_url, params, headers) route =~ method_url cus = assert_existence :customer, $1, customers[$1] cus.merge!(params) if params[:source] new_card = get_card_by_token(params.delete(:source)) add_card_to_object(:customer, new_card, cus, true) cus[:default_source] = new_card[:id] end cus end |