docs/HASH.md in lite-ruby-1.0.17 vs docs/HASH.md in lite-ruby-1.0.18

- old
+ new

@@ -17,40 +17,59 @@ h1.aka('boo', :foo) h1['boo'] #=> 'bar' ``` +`assert_pair_presence!` +------ +Raises an error if key is not included in a list of keys or if value is `blank?` or nil. + +```ruby +{}.assert_pair_presence!(:foo) #=> {} +{ foo: 'bar' }.assert_pair_presence!(:foo) #=> { foo: 'bar' } +{ foo: nil }.assert_pair_presence!(:foo) #=> raises ArgumentError: 'A "nil" value for ":foo" is not allowed' +{ baz: 'boz' }.assert_pair_presence!(:foo, :boo) #=> raises ArgumentError: 'Invalid key: ":baz". Allowed keys are: ":foo", ":boo"' +``` + +`assert_all_pair_presence!` +------ +Raises an error like `assert_pair_presence!` but also on empty. + +```ruby +{}.assert_all_pair_presence!(:foo) #=> raises ArgumentError: 'An empty hash is not allowed' +``` + `assert_valid_keys!` ------ Raises an error if key is not included in a list of keys. ```ruby -{}.assert_valid_keys(:foo) #=> {} -{ foo: 'bar' }.assert_valid_keys(:foo) #=> { foo: 'bar' } -{ baz: 'boz' }.assert_valid_keys(:foo, :boo) #=> raises ArgumentError: 'Invalid key: ":baz". Allowed keys are: ":foo", ":boo"' +{}.assert_valid_keys!(:foo) #=> {} +{ foo: 'bar' }.assert_valid_keys!(:foo) #=> { foo: 'bar' } +{ baz: 'boz' }.assert_valid_keys!(:foo, :boo) #=> raises ArgumentError: 'Invalid key: ":baz". Allowed keys are: ":foo", ":boo"' ``` `assert_all_valid_keys!` ------ -Raises like an error like `assert_valid_values!` but also on empty. +Raises an error like `assert_valid_values!` but also on empty. ```ruby {}.assert_all_valid_keys!(:foo) #=> raises ArgumentError: 'An empty hash is not allowed' ``` `assert_valid_values!` ------ Raises an error if value is not included in a list of values. ```ruby -{}.assert_valid_values(:foo) #=> {} -{ foo: 'bar' }.assert_valid_values('bar') #=> { foo: 'bar' } -{ baz: 'boz' }.assert_valid_values(:foo, :boo) #=> raises ArgumentError: 'Invalid value: "boz". Allowed values are: ":foo", ":boo"' +{}.assert_valid_values!(:foo) #=> {} +{ foo: 'bar' }.assert_valid_values!('bar') #=> { foo: 'bar' } +{ baz: 'boz' }.assert_valid_values!(:foo, :boo) #=> raises ArgumentError: 'Invalid value: "boz". Allowed values are: ":foo", ":boo"' ``` `assert_all_valid_values!` ------ -Raises like an error like `assert_valid_values!` but also on empty. +Raises an error like `assert_valid_values!` but also on empty. ```ruby {}.assert_all_valid_values!(:foo) #=> raises ArgumentError: 'An empty hash is not allowed' ```