Module: StripeMock::RequestHandlers::Products
- Included in:
- Instance
- Defined in:
- lib/stripe_mock/request_handlers/products.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_product(_route, _method_url, params, _headers) ⇒ Object
- #destroy_product(route, method_url, _params, _headers) ⇒ Object
- #list_products(_route, _method_url, params, _headers) ⇒ Object
- #retrieve_product(route, method_url, _params, _headers) ⇒ Object
- #update_product(route, method_url, params, _headers) ⇒ Object
Class Method Details
.included(base) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/stripe_mock/request_handlers/products.rb', line 4 def self.included(base) base.add_handler 'post /v1/products', :create_product base.add_handler 'get /v1/products/(.*)', :retrieve_product base.add_handler 'post /v1/products/(.*)', :update_product base.add_handler 'get /v1/products', :list_products base.add_handler 'delete /v1/products/(.*)', :destroy_product end |
Instance Method Details
#create_product(_route, _method_url, params, _headers) ⇒ Object
12 13 14 15 16 |
# File 'lib/stripe_mock/request_handlers/products.rb', line 12 def create_product(_route, _method_url, params, _headers) params[:id] ||= new_id('prod') validate_create_product_params(params) products[params[:id]] = Data.mock_product(params) end |
#destroy_product(route, method_url, _params, _headers) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/stripe_mock/request_handlers/products.rb', line 35 def destroy_product(route, method_url, _params, _headers) id = method_url.match(route).captures.first assert_existence :product, id, products[id] products.delete(id) { id: id, object: 'product', deleted: true } end |
#list_products(_route, _method_url, params, _headers) ⇒ Object
30 31 32 33 |
# File 'lib/stripe_mock/request_handlers/products.rb', line 30 def list_products(_route, _method_url, params, _headers) limit = params[:limit] || 10 Data.mock_list_object(products.values.take(limit), params) end |
#retrieve_product(route, method_url, _params, _headers) ⇒ Object
18 19 20 21 |
# File 'lib/stripe_mock/request_handlers/products.rb', line 18 def retrieve_product(route, method_url, _params, _headers) id = method_url.match(route).captures.first assert_existence :product, id, products[id] end |
#update_product(route, method_url, params, _headers) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/stripe_mock/request_handlers/products.rb', line 23 def update_product(route, method_url, params, _headers) id = method_url.match(route).captures.first product = assert_existence :product, id, products[id] product.merge!(params) end |