class Guard::Internals::Groups
Constants
- DEFAULT_GROUPS
Public Class Methods
new()
click to toggle source
# File lib/guard/internals/groups.rb, line 9 def initialize @groups = DEFAULT_GROUPS.map { |name| Group.new(name) } end
Public Instance Methods
add(name, options = {})
click to toggle source
# File lib/guard/internals/groups.rb, line 19 def add(name, options = {}) all(name).first || Group.new(name, options).tap do |group| fail if name == :specs && options.empty? @groups << group end end
all(filter = nil)
click to toggle source
# File lib/guard/internals/groups.rb, line 13 def all(filter = nil) return @groups if filter.nil? matcher = matcher_for(filter) @groups.select { |group| matcher.call(group) } end
Private Instance Methods
matcher_for(filter)
click to toggle source
# File lib/guard/internals/groups.rb, line 28 def matcher_for(filter) case filter when String, Symbol ->(group) { group.name == filter.to_sym } when Regexp ->(group) { group.name.to_s =~ filter } else fail "Invalid filter: #{filter.inspect}" end end