Sha256: 77261a0fb635d7a275f514ff29b96bf571484f63f63c9f8b81096c8e652deeed

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'thor'
require 'psychic/runner'

module Psychic
  class CLI < Thor
    desc 'run_task <name>', 'Executes a custom task by name'
    def run_task(task_name, *args)
      result = runner.execute_task(task_name, *args)
      result.error!
      say_status :success, task_name
    rescue Psychic::Shell::ExecutionError => e
      say_status :failed, task_name, :red
      say e.execution_result if e.execution_result
    end

    desc 'run_sample <name>', 'Executes a code sample'
    def run_sample(sample_name, *args)
      result = runner.run_sample(sample_name, *args)
      result.error!
      say_status :success, sample_name
    rescue Errno::ENOENT => e
      say_status :failed, "No code sample found for #{sample_name}", :red
    rescue Psychic::Shell::ExecutionError => e
      say_status :failed, "Executing sample #{sample_name}", :red
      say e.execution_result if e.execution_result
    end

    private

    def runner
      # Psychic::Shell.shell = shell
      @runner ||= Psychic::Runner.new
    end
  end
end

# require 'psychic/commands/exec'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
psychic-runner-0.0.3 lib/psychic/cli.rb
psychic-runner-0.0.2 lib/psychic/cli.rb