Sha256: 8c7639d0a1e9f51fe387aaa7666b21a060af672d9ba38a80aafe6446aca55f80

Contents?: true

Size: 1.94 KB

Versions: 4

Compression:

Stored size: 1.94 KB

Contents

# frozen_string_literal: true

module Karafka
  # Karafka framework Cli
  class Cli < Thor
    # Info Karafka Cli action
    class Info < Base
      desc 'Print configuration details and other options of your application'

      # Nice karafka banner
      BANNER = <<~BANNER

        @@@                                             @@@@@  @@@
        @@@                                            @@@     @@@
        @@@  @@@    @@@@@@@@@   @@@ @@@   @@@@@@@@@  @@@@@@@@  @@@  @@@@   @@@@@@@@@
        @@@@@@     @@@    @@@   @@@@@    @@@    @@@    @@@     @@@@@@@    @@@    @@@
        @@@@@@@    @@@    @@@   @@@     @@@@    @@@    @@@     @@@@@@@    @@@    @@@
        @@@  @@@@  @@@@@@@@@@   @@@      @@@@@@@@@@    @@@     @@@  @@@@   @@@@@@@@@@

      BANNER

      # Print configuration details and other options of your application
      def call
        Karafka.logger.info(BANNER)
        Karafka.logger.info((core_info + license_info).join("\n"))
      end

      private

      # @return [Array<String>] core framework related info
      def core_info
        config = Karafka::App.config

        postfix = Karafka.pro? ? ' + Pro' : ''

        [
          "Karafka version: #{Karafka::VERSION}#{postfix}",
          "Ruby version: #{RUBY_VERSION}",
          "Rdkafka version: #{::Rdkafka::VERSION}",
          "Subscription groups count: #{Karafka::App.subscription_groups.size}",
          "Workers count: #{Karafka::App.config.concurrency}",
          "Application client id: #{config.client_id}",
          "Boot file: #{Karafka.boot_file}",
          "Environment: #{Karafka.env}"
        ]
      end

      # @return [Array<String>] license related info
      def license_info
        config = Karafka::App.config

        if Karafka.pro?
          [
            'License: Commercial',
            "License entity: #{config.license.entity}"
          ]
        else
          [
            'License: LGPL-3.0'
          ]
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
karafka-2.0.2 lib/karafka/cli/info.rb
karafka-2.0.1 lib/karafka/cli/info.rb
karafka-2.0.0 lib/karafka/cli/info.rb
karafka-2.0.0.rc6 lib/karafka/cli/info.rb