Sha256: 3eb408e8d9e217cb5b2f326b71a3b1d70debe179123eba0b8f7e433083a4c0c6
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
module Vedeu # Interfaces can be associated with one another by being members of the same # Group. A Group is a collection of interface names. # class Group attr_reader :name # Return a new instance of Group. # # @param name [String] The name of the group. # @param members [String] # @return [Group] def initialize(name, *members) @name = name @members = members.to_set end # Add a member to the group by name. # # @param member [String] # @return [Group] def add(member) new_members = @members.add(member) Group.new(name, *new_members) end # Returns the members as a collection. # # @return [Array] def members @members.to_a end # Remove a member from the group by name. # # @param member [String] # @return [Group] def remove(member) new_members = @members.delete(member) Group.new(name, *new_members) end # Remove all members from the group. # # @return [Group] def reset Group.new(name) end end # Group end # Vedeu
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.2.12 | lib/vedeu/repositories/models/group.rb |