Sha256: 6eff28529ea71ed2f3278917706511cb034845b0e6ec36db771d7c8606cad1ce

Contents?: true

Size: 553 Bytes

Versions: 1

Compression:

Stored size: 553 Bytes

Contents

module RedisThrottler
  module Configuration

    def configuration
      yield self
    end

    def define_setting(name, default = nil)
      class_variable_set("@@#{name}", default)

      define_class_method "#{name}=" do |value|
        class_variable_set("@@#{name}", value)
      end

      define_class_method name do
        class_variable_get("@@#{name}")
      end
    end

    private

    def define_class_method(name, &block)
      (class << self; self; end).instance_eval do
        define_method name, &block
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redis-throttler-0.1.8 lib/redis-throttler/configuration.rb