Sha256: b76710b2f235d4831b6f16eda1584d908f477b4e0eb1c7898077de8fb5816629

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

#!/usr/bin/env ruby

require 'flapjack/coordinator'

module Flapjack
  module CLI
    class Server

      def initialize(global_options, options)
        @global_options = global_options
        @options = options

        if @global_options[:'force-utf8']
          Encoding.default_external = 'UTF-8'
          Encoding.default_internal = 'UTF-8'
        end

        @config = Flapjack::Configuration.new
        @config.load(global_options[:config])
        @config_env = @config.all

        if @config_env.nil? || @config_env.empty?
          exit_now! "No config data found in '#{global_options[:config]}'"
        end
      end

      def start
        puts "Flapjack starting..."
        @coordinator = Flapjack::Coordinator.new(@config)
        return_value = @coordinator.start(:signals => true)
        puts " done."
        exit_now!(return_value) unless return_value.nil?
      end

    end
  end
end

desc 'Server for running components (e.g. processor, notifier, gateways)'
command :server do |server|
  server.action do |global_options,options,args|
    cli_server = Flapjack::CLI::Server.new(global_options, options)
    cli_server.start
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
flapjack-2.0.0 lib/flapjack/cli/server.rb
flapjack-2.0.0rc1 lib/flapjack/cli/server.rb
flapjack-2.0.0b1 lib/flapjack/cli/server.rb