Sha256: 0236f07e57518ca7e45c038b1b2f1762cb475e68128eeffef700ce99390f4a8e

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'eac_ruby_utils/console/docopt_runner'
require 'eac_ruby_utils/console/speaker'

module EacLauncher
  module Instances
    class RunnerHelper < ::EacRubyUtils::Console::DocoptRunner
      include ::EacRubyUtils::Console::Speaker

      def context
        @context ||= ::EacLauncher::Context.current
      end

      def find_instance(instance_name)
        context.instances.find { |i| i.name == instance_name }
      end

      def find_instance!(instance_path)
        instance = find_instance(instance_path)
        return instance if instance
        raise "Instance not found in \"#{instance_path}\""
      end

      def instances
        if options['--all']
          context.instances
        elsif options['--pending']
          context.pending_instances
        else
          options['<instance_path>'].map { |p| find_instance!(p) }
        end
      end

      def instance_stereotypes(instance)
        instance.stereotypes.map(&:stereotype_name_in_color).join(', ')
      end

      def instance_label(instance)
        "#{instance.name} [#{instance_stereotypes(instance)}]"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eac_launcher-0.6.0 lib/eac_launcher/instances/runner_helper.rb