Sha256: d2226acf7a776a255ce9bf10de01ca22d153e4bcdec8d1f3cd1a253e26291a3f

Contents?: true

Size: 1.49 KB

Versions: 5

Compression:

Stored size: 1.49 KB

Contents

# frozen_string_literal: true

module SalesforceStreamer
  class CLI
    def initialize(argv)
      @argv = argv
      @config = Configuration.instance
      setup_options
      @parser.parse! @argv
    end

    def run
      Launcher.new.run
    end

    private

    def setup_options
      @parser = OptionParser.new do |o|
        o.on '-C', '--config PATH', 'Load PATH as a config file' do |arg|
          @config.config_file = arg
        end

        o.on '-e', '--environment ENVIRONMENT',
             'The environment to run the app on (default development)' do |arg|
          @config.environment = arg
        end

        o.on '-r', '--require PATH', 'Load PATH as the entry point to your application' do |arg|
          @config.require_path = arg
        end

        o.on '--verbose-restforce', 'Activate the Restforce logger' do
          @config.restforce_logger!
        end

        o.on '-v', '--verbose LEVEL', 'Set the log level (default no logging)' do |arg|
          @config.logger = Logger.new(STDERR, level: arg)
        end

        o.on '-V', '--version', 'Print the version information' do
          puts "streamer version #{SalesforceStreamer::VERSION}"
          exit 0
        end

        o.on '-x', '--topics', 'Activate PushTopic Management (default off)' do
          @config.manage_topics = true
        end

        o.banner = 'bundle exec streamer OPTIONS'

        o.on_tail '-h', '--help', 'Show help' do
          puts o
          exit 0
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
salesforce_streamer-0.3.0 lib/salesforce_streamer/cli.rb
salesforce_streamer-0.2.3 lib/salesforce_streamer/cli.rb
salesforce_streamer-0.2.2 lib/salesforce_streamer/cli.rb
salesforce_streamer-0.2.1 lib/salesforce_streamer/cli.rb
salesforce_streamer-0.2.0 lib/salesforce_streamer/cli.rb