Sha256: 78106a08081567638e816680afb6d6f64e9e979c2571c9470f467dbaf6997b87

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require_relative '../lib/balboa'

defaults = if File.exist?(Balboa::CONFIG_FILE)
  YAML.load_file(Balboa::CONFIG_FILE)
else
  Balboa::CLI::Defaults.prompt
end

options = Balboa::CLI::Options.parse(ARGV, defaults)

raw_interactor = Balboa::Interactor::InteractorBuilder.create(options)
interactor = Balboa::Interactor::InteractorWrapper.new(raw_interactor)

app_last = Balboa::CLI::Command::LastCommand.new(interactor)
app_punch = Balboa::CLI::Command::PunchCommand.new(interactor)
app_reset = Balboa::CLI::Command::ResetCommand.new
app_star_wars = Balboa::CLI::Command::StarWarsCommand.new

command = ARGV.first
app = Balboa::CLI::Application.new(command)
app.add_command(:last, app_last)
app.add_command(:punch, app_punch)
app.add_command(:reset, app_reset)
app.add_command(:star_wars, app_star_wars)

begin
  app.execute
rescue Balboa::CLI::Application::CommandNotFound
  $stdout.puts("\nCommand Not Found!")
  $stdout.puts("\nRun `balboa -h' to check available commands and options.")
rescue Balboa::Interactor::Command::LoginCommand::LoginFailure
  $stdout.puts("\nWrong e-mail or password!")
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
balboa-0.1.3 bin/balboa