Sha256: 0d51077e240d7b53bfec415e3507b9b6e9e27cfaf82748d890d89c86bc83eb14

Contents?: true

Size: 786 Bytes

Versions: 2

Compression:

Stored size: 786 Bytes

Contents

require "singleton"

module Weeter

  class Configuration
    include Singleton
    attr_accessor :log_path, :subscriptions_limit

    autoload :ClientAppConfig, 'weeter/configuration/client_app_config'
    autoload :TwitterConfig,   'weeter/configuration/twitter_config'
    autoload :LimiterConfig,   'weeter/configuration/limiter_config'


    def twitter
      yield Configuration::TwitterConfig.instance if block_given?
      Configuration::TwitterConfig.instance
    end

    def limiter
      yield Configuration::LimiterConfig.instance if block_given?
      Configuration::LimiterConfig.instance
    end

    def client_app
      @client_app_config ||= Configuration::ClientAppConfig.new
      yield @client_app_config if block_given?
      @client_app_config
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
weeter-0.13.0 lib/weeter/configuration.rb
weeter-0.11.0 lib/weeter/configuration.rb