Class: RepoTender::Launchd::Agent::ShellRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/repo_tender/launchd/agent.rb

Overview

The default real-runner. Wraps ‘Shell.run` in a `Sync{}` block so the Fiber-scheduler requirement is satisfied. Outside an ambient Async::Task, `Shell.run` would raise; the wrapper creates one. This is the only place the production code path touches `Shell` for launchctl.

Instance Method Summary collapse

Instance Method Details

#run(*argv, **opts) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/repo_tender/launchd/agent.rb', line 37

def run(*argv, **opts)
  Sync do |_task|
    if opts.empty?
      Shell.run(*argv)
    else
      Shell.run(*argv, **opts)
    end
  end
end