Module: StripeMock::RequestHandlers::Coupons

Included in:
Instance
Defined in:
lib/stripe_mock/request_handlers/coupons.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/coupons.rb', line 5

def Coupons.included(klass)
  klass.add_handler 'post /v1/coupons',        :new_coupon
  klass.add_handler 'get /v1/coupons/(.*)',    :get_coupon
  klass.add_handler 'delete /v1/coupons/(.*)', :delete_coupon
  klass.add_handler 'get /v1/coupons',         :list_coupons
end

Instance Method Details

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



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

def delete_coupon(route, method_url, params, headers)
  route =~ method_url
  assert_existence :id, $1, coupons.delete($1)
end

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



18
19
20
21
# File 'lib/stripe_mock/request_handlers/coupons.rb', line 18

def get_coupon(route, method_url, params, headers)
  route =~ method_url
  assert_existence :id, $1, coupons[$1]
end

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



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

def list_coupons(route, method_url, params, headers)
  Data.mock_list_object(coupons.values, params)
end

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

Raises:

  • (Stripe::InvalidRequestError)


12
13
14
15
16
# File 'lib/stripe_mock/request_handlers/coupons.rb', line 12

def new_coupon(route, method_url, params, headers)
  params[:id] ||= new_id('coupon')
  raise Stripe::InvalidRequestError.new('Missing required param: duration', 'coupon', 400) unless params[:duration]
  coupons[ params[:id] ] = Data.mock_coupon(params)
end