brew/Library/Homebrew/bundle/brew_services.rb
Mike McQuaid bdeca530ff
Migrate Homebrew/bundle to Homebrew/brew
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-19 06:47:01 +00:00

56 lines
1.2 KiB
Ruby

# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
module BrewServices
module_function
def reset!
@started_services = nil
end
def stop(name, verbose: false)
return true unless started?(name)
return unless Bundle.brew("services", "stop", name, verbose:)
started_services.delete(name)
true
end
def start(name, verbose: false)
return unless Bundle.brew("services", "start", name, verbose:)
started_services << name
true
end
def restart(name, verbose: false)
return unless Bundle.brew("services", "restart", name, verbose:)
started_services << name
true
end
def started?(name)
started_services.include? name
end
def started_services
@started_services ||= if Bundle.services_installed?
states_to_skip = %w[stopped none]
Utils.safe_popen_read("brew", "services", "list").lines.filter_map do |line|
name, state, _plist = line.split(/\s+/)
next if states_to_skip.include? state
name
end
else
[]
end
end
end
end
end