Sha256: 63c96c509f7d3dbe71521878122a1c259128387fcca290484a461627ee64c030

Contents?: true

Size: 557 Bytes

Versions: 3

Compression:

Stored size: 557 Bytes

Contents

module DummyLogGenerator
  class Dsl
    attr_reader :setting

    def initialize
      @setting = Setting.new
    end

    def method_missing(name, *args)
      if @setting.respond_to?("#{name}=")
        @setting.__send__("#{name}=", *args)
      else
        raise ConfigError.new("Config parameter `#{name}` does not exist")
      end
    end

    def field(name, opts)
      setting.fields ||= {}
      setting.fields[name] = opts
    end
  end
end

def configure(title, &block)
  dsl = DummyLogGenerator::Dsl.new
  dsl.instance_eval(&block)
  dsl
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dummy_log_generator-0.2.3 lib/dummy_log_generator/dsl.rb
dummy_log_generator-0.2.2 lib/dummy_log_generator/dsl.rb
dummy_log_generator-0.2.1 lib/dummy_log_generator/dsl.rb