lib/dnssd/flags.rb in dnssd-1.1.0 vs lib/dnssd/flags.rb in dnssd-1.2

- old
+ new

@@ -20,10 +20,13 @@ define_method "#{attr}?" do self & flag == flag end end + ## + # Bitfield with all valid flags set + ALL_FLAGS = FLAGS.values.inject { |flag, all| flag | all } ## # Returns a new set of flags @@ -69,18 +72,27 @@ @flags |= flag verify end + ## + # Returns an Array of flag names + def to_a FLAGS.map do |name, value| (@flags & value == value) ? name : nil end.compact end - def to_i # :nodoc: + ## + # Flags as a bitfield + + def to_i @flags end + + ## + # Trims the flag list down to valid flags def verify @flags &= ALL_FLAGS self