Sha256: ecffb1c3d9b894d8eff7ccbbe7ce0feb0b93ee5a5e7cc5dbf279fae671e1dd89
Contents?: true
Size: 859 Bytes
Versions: 78
Compression:
Stored size: 859 Bytes
Contents
# # DESCRIPTION: # Filter methods for aws queries # # DEPENDENCIES: # # USAGE: # Filter.parse(string) # # NOTES: # # LICENSE: # Justin McCarty (jmccarty3@gmail.com) # Released under the same terms as Sensu (the MIT license); see LICENSE # for details. # module Filter def self.parse(input) filter = [] if input == '{}' return filter end items = input.scan(/{.*?}/) items.each do |item| if item.strip.empty? raise 'Invalid filter syntax' end entry = {} name = item.scan(/name:(.*?),/) value = item.scan(/values:\[(.*?)\]/) if name.nil? || name.empty? || value.nil? || value.empty? raise 'Unable to parse filter entry' end entry[:name] = name[0][0].strip entry[:values] = value[0][0].split(',') filter << entry end filter end end
Version data entries
78 entries across 78 versions & 2 rubygems