Class: Hash

Inherits:
Object show all
Defined in:
lib/monkey_patches.rb,
lib/icinga2/validator.rb

Overview

filter hash example: tags = [ ‘foo’, ‘bar’, ‘fii’ ] useableTags = tags.filter( ‘fii’ )

Instance Method Summary collapse

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