Module: StrictStruct::Helper

Defined in:
lib/strict_struct.rb

Class Method Summary collapse

Class Method Details

.assert_keyword_error(type, keywords) ⇒ Object



5
6
7
8
9
10
11
# 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) ⇒ Object



13
14
15
16
17
18
19
# 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