class Symbol
Public Instance Methods
has_keyword_argument?(*keyword)
click to toggle source
# File lib/has_keyword_argument.rb, line 2 def has_keyword_argument? *keyword keyword.uniq! keyword.each_with_index do |keywd, i| unless keywd.is_a? Symbol raise ArgumentError, "Expected all `keyword´ to be Symbol, argument #{i} is #{keywd.class}" end end keyreq_params = [] params = method(self).parameters params.each do |param| if param.first == :keyreq keyreq_params << param.last end end unless keyword == keyreq_params keyword_product = keyword.permutation.to_a keyword = keyword_product[keyword_product.index(keyreq_params)] if keyword_product.include? keyreq_params end keyreq_params.must_equal keyword end