module StrictStruct::Helper
Public Class Methods
assert_keyword_error(type, keywords)
click to toggle source
# File lib/strict_struct.rb, line 5 def self.assert_keyword_error type, keywords if keywords.length == 1 raise ArgumentError, "#{type} keyword: " + keywords.first.to_s elsif keywords.length > 1 raise ArgumentError, "#{type} keywords: " + keywords.join(', ') end end
validate_arguments(given, expected)
click to toggle source
# File lib/strict_struct.rb, line 13 def self.validate_arguments given, expected missing_arguments = expected.reject {|name| given.include? name } Helper.assert_keyword_error "missing", missing_arguments extra_arguments = given.reject {|name| expected.include? name } Helper.assert_keyword_error "unknown", extra_arguments end