Class: Hash
Overview
filter hash example: tags = [ ‘foo’, ‘bar’, ‘fii’ ] useableTags = tags.filter( ‘fii’ )
Instance Method Summary collapse
- #assert_required_keys(*keys) ⇒ Object
- #assert_valid_keys(params, *valid_keys) ⇒ Object
- #filter(*args) ⇒ Object
Instance Method Details
#assert_required_keys(*keys) ⇒ Object
3 4 5 6 7 |
# File 'lib/icinga2/validator.rb', line 3 def assert_required_keys(*keys) keys.flatten.each do |key| raise ArgumentError.new("Required key: #{key.inspect}") unless key?(key) end end |
#assert_valid_keys(params, *valid_keys) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/icinga2/validator.rb', line 9 def assert_valid_keys(params, *valid_keys) valid_keys.flatten! params.each_key do |k| unless valid_keys.include?(k) raise ArgumentError.new("Unknown key: #{k.inspect}. Valid keys are: #{valid_keys.map(&:inspect).join(', ')}") end end end |
#filter(*args) ⇒ Object
60 61 62 63 64 65 66 67 |
# File 'lib/monkey_patches.rb', line 60 def filter( *args ) if( args.size == 1 ) args[0] = args[0].to_s if args[0].is_a?( Symbol ) select { |key| key.to_s.match( args.first ) } else select { |key| args.include?( key ) } end end |