Sha256: 1347af6f71a980a849bc813d69b1b897373527908d45f39aa9a01ebdb8c80dea

Contents?: true

Size: 1.63 KB

Versions: 11

Compression:

Stored size: 1.63 KB

Contents

# frozen_string_literal: true

module RubyRabbitmqJanus
  module Tools
    module Replaces
      # Format message request with good data to HASH format for Admin request.
      # Manage level, debug and admin_secret
      #
      # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
      class Admin < Handle
        private

        KEY_ACCEPTED = %w[colors
                          debug
                          level
                          filename
                          folder
                          max_nack_queue
                          no_media_timer
                          timestamps
                          token
                          truncate
                          timeout].freeze

        def replace_element_classic
          super
          replace_admins if request.key?('admin_secret')
          add_secret if opts.key?('add')
        end

        def add_secret
          values = opts['add']
          request.merge!(values)
        end

        def replace_admins
          replace_admin
          KEY_ACCEPTED.each do |key|
            replace_component(key) if request.key?(key)
          end
        end

        def replace_component(key)
          request[key] = type.convert(key, opts)
        rescue => exception
          Tools::Log.instance.warn "Error replace #{key} : #{exception}"
        end

        def replace_admin
          request['admin_secret'] = admin_pass
        rescue => exception
          Tools::Log.instance.warn "Error replace admin_secret : #{exception}"
        end

        def admin_pass
          Tools::Config.instance.options['rabbit']['admin_pass']
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ruby_rabbitmq_janus-2.6.0.pre.247 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.246 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.244 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.240 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.239 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.238 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.233 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.229 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.228 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.227 lib/rrj/tools/replaces/admin.rb
ruby_rabbitmq_janus-2.6.0.pre.226 lib/rrj/tools/replaces/admin.rb