Module: Munola::CLI
- Defined in:
- lib/munola/cli.rb
Class Method Summary collapse
Class Method Details
.init(args, stdout:, stderr:) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/munola/cli.rb', line 25 def self.init(args, stdout:, stderr:) = { tenant_column: nil } parser = OptionParser.new do |opts| opts. = "Usage: munola init [ROOT] [--tenant-column COLUMN]" opts.on("--tenant-column COLUMN", "The column most tables carry; confirmed against db/schema.rb") { |v| [:tenant_column] = v } end rest = parser.parse(args) root = rest.first || Dir.pwd Installer.new(root, tenant_column: [:tenant_column], stderr: stderr).install.lines.each { |line| stdout.puts line } 0 end |
.start(argv, stdout: $stdout, stderr: $stderr) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/munola/cli.rb', line 7 def self.start(argv, stdout: $stdout, stderr: $stderr) case argv.first when "--version" found = Munola.resolve out, = Open3.capture2e(found.path, "--version") stdout.puts Munola.channel_line(found) stdout.puts out.strip 0 when "init" init(argv.drop(1), stdout: stdout, stderr: stderr) else Enola::Runner.new(channel: CHANNEL, stderr: stderr).exec(argv) end rescue Enola::Error => e stderr.puts "munola: #{e.}" 127 end |