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