Sha256: 5b2a962451713ba9428a470c337ffcba31e4057e3f99e94120d634c8f4094abb

Contents?: true

Size: 503 Bytes

Versions: 4

Compression:

Stored size: 503 Bytes

Contents

module RouteDowncaser::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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
route_downcaser-1.2.2 lib/route_downcaser/configuration.rb
route_downcaser-1.2.1 lib/route_downcaser/configuration.rb
route_downcaser-1.2.0 lib/route_downcaser/configuration.rb
route_downcaser-1.1.5 lib/route_downcaser/configuration.rb