Sha256: 1f6246fd7a8959dddab9f48b9a87f43e0d1be14ca30be42ff87aeae8877e5599
Contents?: true
Size: 648 Bytes
Versions: 32
Compression:
Stored size: 648 Bytes
Contents
module ActiveUtils #: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(:words_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
32 entries across 32 versions & 1 rubygems