Sha256: e2bf43aa3711368089b7024ec8bae12cb20c5b383a3e26fb263625280f6b6db9
Contents?: true
Size: 845 Bytes
Versions: 2
Compression:
Stored size: 845 Bytes
Contents
require 'set' module EnoughFields class Result attr_accessor :field, :used def initialize(field, used) @field = field @used = used end def used? used == true end end class MonitSet < Set def check_notifications results = {} self.each do |attribute_value| results[ [attribute_value.call_stack, attribute_value.klass] ] ||= [] results[ [attribute_value.call_stack, attribute_value.klass] ] << Result.new(attribute_value.field, attribute_value.used?) end results.each do |call_stack_klass, results| call_stack, klass = *call_stack_klass if results.find { |result| !result.used? } EnoughFields.add_notification(call_stack, klass, results.find_all { |result| result.used? }.collect(&:field)) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
enough_fields-0.0.3 | lib/enough_fields/monit_set.rb |
enough_fields-0.0.2 | lib/enough_fields/monit_set.rb |