module StripeMock::RequestHandlers::ParamValidators
Constants
- SUPPORTED_CURRENCIES
- SUPPORTED_PLAN_INTERVALS
Public Instance Methods
already_exists_message(obj_class)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 5 def already_exists_message(obj_class) "#{obj_class.to_s.split("::").last} already exists." end
invalid_currency_message(my_val)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 68 def invalid_currency_message(my_val) "Invalid currency: #{my_val.downcase}. Stripe currently supports these currencies: #{SUPPORTED_CURRENCIES.join(", ")}" end
invalid_integer_message(my_val)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 17 def invalid_integer_message(my_val) "Invalid integer: #{my_val}" end
invalid_plan_interval_message()
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 51 def invalid_plan_interval_message "Invalid interval: must be one of day, month, week, or year" end
missing_param_message(attr_name)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 13 def missing_param_message(attr_name) "Missing required param: #{attr_name}." end
missing_plan_amount_message()
click to toggle source
PlanValidator
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 45 def missing_plan_amount_message "Plans require an `amount` parameter to be set." end
not_found_message(obj_class, obj_id)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 9 def not_found_message(obj_class, obj_id) "No such #{obj_class.to_s.split("::").last.downcase}: #{obj_id}" end
require_param(param_name)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 113 def require_param(param_name) raise Stripe::InvalidRequestError.new("Missing required param: #{param_name}.", param_name.to_s, http_status: 400) end
validate_create_plan_params(params)
click to toggle source
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 72 def validate_create_plan_params(params) plan_id = params[:id].to_s product_id = params[:product] @base_strategy.create_plan_params.keys.each do |attr_name| message = if attr_name == :amount "Plans require an `#{attr_name}` parameter to be set." else "Missing required param: #{attr_name}." end raise Stripe::InvalidRequestError.new(message, attr_name) if params[attr_name].nil? end if plans[plan_id] message = already_exists_message(Stripe::Plan) raise Stripe::InvalidRequestError.new(message, :id) end unless products[product_id] message = not_found_message(Stripe::Product, product_id) raise Stripe::InvalidRequestError.new(message, :product) end unless SUPPORTED_PLAN_INTERVALS.include?(params[:interval]) message = invalid_plan_interval_message raise Stripe::InvalidRequestError.new(message, :interval) end unless SUPPORTED_CURRENCIES.include?(params[:currency]) message = invalid_currency_message(params[:currency]) raise Stripe::InvalidRequestError.new(message, :currency) end unless params[:amount].integer? message = invalid_integer_message(params[:amount]) raise Stripe::InvalidRequestError.new(message, :amount) end end
validate_create_product_params(params)
click to toggle source
ProductValidator
# File lib/stripe_mock/request_handlers/validators/param_validators.rb, line 26 def validate_create_product_params(params) params[:id] = params[:id].to_s @base_strategy.create_product_params.keys.reject{ |k,_| k == :id }.each do |k| raise Stripe::InvalidRequestError.new(missing_param_message(k), k) if params[k].nil? end if !%w[good service].include?(params[:type]) raise Stripe::InvalidRequestError.new("Invalid type: must be one of good or service", :type) end if products[ params[:id] ] raise Stripe::InvalidRequestError.new(already_exists_message(Stripe::Product), :id) end end