Sha256: 9b573895444ccafcdb7f8a692219274a3a724339c0825ff0b718cbe0018c0b74

Contents?: true

Size: 1.49 KB

Versions: 21

Compression:

Stored size: 1.49 KB

Contents

module Opener
  class ChainedDaemon
    ##
    # CLI wrapper around {Opener::ChainedDaemon} using Slop.
    #
    # @!attribute [r] parser
    #  @return [Slop]
    #
    class CLI

      attr_reader :parser

      def initialize
        @parser = configure_slop
      end

      ##
      # @param [Array] argv
      #
      def run argv = ARGV
        parser.parse argv
      end

      ##
      # @return [Slop]
      #
      def configure_slop
        Slop.new strict: false, indent: 2, help: true do
          banner 'Usage: chained-daemon [OPTIONS]'

          separator <<-EOF.chomp

About:


Example:

    cat some_file.kaf | chained-daemon
          EOF

          separator "\nOptions:\n"

          on :v, :version, 'Shows the current version' do
            abort "chained-daemon v#{VERSION} on #{RUBY_DESCRIPTION}"
          end

          run do |opts, args|
            daemon = ChainedDaemon.new args: args
            input  = STDIN.tty? ? nil : STDIN.read
            params = if ENV['PARAMS'] then JSON.parse ENV['PARAMS'] else {} end

            # Set environment as staging from console for testing purposes
            env = ENV['LEXICONS_ENV'] || 'staging'
            pt  = ENV['LEXICONS_PROPERTY_TYPE']
            params[:cache_keys] = {
              environment:   env,
              property_type: pt,
              merged:        (true if env == 'staging'),
            }

            output = daemon.run input, params
            puts output
          end
        end
      end

    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
opener-chained-daemon-3.3.23 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.22 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.21 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.20 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.19 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.18 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.17 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.16 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.15 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.14 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.13 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.12 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.11 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.10 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.9 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.8 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.7 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.6 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.5 lib/opener/chained_daemon/cli.rb
opener-chained-daemon-3.3.4 lib/opener/chained_daemon/cli.rb