Module: ActiveMerchant::RequiresParameters
- Included in:
- Billing::Gateway, Country
- Defined in:
- lib/active_merchant/common/requires_parameters.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#requires!(hash, *params) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/active_merchant/common/requires_parameters.rb', line 3 def requires!(hash, *params) params.each do |param| if param.is_a?(Array) raise ArgumentError.new("Missing required parameter: #{param.first}") unless hash.has_key?(param.first) = param[1..-1] raise ArgumentError.new("Parameter: #{param.first} must be one of #{.to_sentence(:words_connector => 'or')}") unless .include?(hash[param.first]) else raise ArgumentError.new("Missing required parameter: #{param}") unless hash.has_key?(param) end end end |