Sha256: 7f1a08155a3e00a41ed3324aeada488cd50c0dc6024a69ead10a84ea60015f81
Contents?: true
Size: 674 Bytes
Versions: 2
Compression:
Stored size: 674 Bytes
Contents
module ActiveMerchant #:nodoc: module RequiresParameters #:nodoc: def requires!(hash, *params) keys = hash.keys params.each do |param| if param.is_a?(Array) raise ArgumentError.new("Missing required parameter: #{param.first}") unless keys.include?(param.first) valid_options = param[1..-1] raise ArgumentError.new("Parameter: #{param.first} must be one of #{valid_options.to_sentence(:connector => 'or')}") unless valid_options.include?(hash[param.first]) else raise ArgumentError.new("Missing required parameter: #{param}") unless keys.include?(param) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activemerchant-1.2.0 | lib/active_merchant/lib/requires_parameters.rb |
activemerchant-1.2.1 | lib/active_merchant/lib/requires_parameters.rb |