Sha256: d895113d9f2bf52a5fa47bd79c07e6f90ac6386c946ab52ca8d9bb2698775629
Contents?: true
Size: 649 Bytes
Versions: 1
Compression:
Stored size: 649 Bytes
Contents
module MerbMerchant #:nodoc: module RequiresParameters #:nodoc: 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) 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 hash.has_key?(param) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
merb_merchant-1.4.1 | lib/merb_merchant/lib/requires_parameters.rb |