Sha256: 2cc976e631ba5cbfd398f5410628095036d2abe292dafb7d879c807b6f3611a9

Contents?: true

Size: 1.19 KB

Versions: 5

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

module Boppers
  class CLI < Thor
    check_unknown_options!

    def self.exit_on_failure?
      true
    end

    desc "start [OPTIONS]", "Start Boppers' daemon"

    method_option :require,
                  type: :string,
                  desc: "File to require",
                  required: true

    def start
      require options[:require]
      Runner.new.call
    end

    desc "version", "Prints the Boppers version information"
    map %w{-v --version} => :version

    def version
      say "Boppers v#{VERSION}"
    end

    desc "plugin NAME", "Create a new plugin for Boppers"

    def plugin(name)
      require "boppers/generator/plugin"

      base_path = File.dirname(File.expand_path(name))
      base_name = "boppers-#{File.basename(name)}"

      generator = Generator::Plugin.new
      generator.destination_root = File.join(base_path, base_name)
      generator.invoke_all
    end

    desc "app NAME", "Create a new app for Boppers"

    def app(name)
      require "boppers/generator/app"

      base_path = File.expand_path(name)

      generator = Generator::App.new
      generator.destination_root = base_path
      generator.invoke_all
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
boppers-0.0.5 lib/boppers/cli.rb
boppers-0.0.4 lib/boppers/cli.rb
boppers-0.0.3 lib/boppers/cli.rb
boppers-0.0.2 lib/boppers/cli.rb
boppers-0.0.1 lib/boppers/cli.rb