Sha256: 5caeb764ff386d0bd41d3a4e101634e9430b847372325a5ab53f6fe8fb6ddf4b

Contents?: true

Size: 864 Bytes

Versions: 2

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true

module Totoro
  class Config
    def initialize(prefix = nil)
      @data = Rails.application.config_for(:totoro).with_indifferent_access
      @data = @data[prefix] if prefix.present?
    end

    def reset_data
      @data = nil
    end

    def connect
      @data[:connect]
    end

    def exchange(id)
      @data[:exchange][id][:name]
    end

    def exchange_name_for_queue(queue_id)
      @data[:queue][queue_id][:exchange]
    end

    def clean_start?(id)
      !!@data[:queue][id][:clean_start]
    end

    def manual_ack?(id)
      !!@data[:queue][id][:manual_ack]
    end

    def force_ack?(id)
      manual_ack?(id) && !!@data[:queue][id][:force_ack]
    end

    def queue(id)
      name = @data[:queue][id][:name]
      settings = { durable: @data[:queue][id][:durable] }
      [name, settings]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
totoro-1.0.6 pkg/totoro-1.0.5/lib/totoro/config.rb
totoro-1.0.5 lib/totoro/config.rb