Sha256: d4d5262b180bc728505d9727dc6327c27fce51fac52cec157b8fe21f9fb875ea

Contents?: true

Size: 737 Bytes

Versions: 3

Compression:

Stored size: 737 Bytes

Contents

module DummyLogGenerator
  class Config
    attr_accessor :rate

    def initiaize
      @rate = 500
    end
  end
end

module DummyLogGenerator
  class Dsl
    attr_reader :generator
    attr_reader :formatter
    attr_reader :config

    def initialize
      @generator = Generator.new
      @formatter = Formatter.new
      @config = Config.new
    end

    def rate(rate)
      config.rate = rate
    end

    def field(name, opts)
      generator.fields[name] = opts
    end

    def delimiter(delimiter)
      formatter.delimiter = delimiter
    end

    def labeled(labeled)
      formatter.labeled = labeled
    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.0.4 lib/dummy_log_generator/dsl.rb
dummy_log_generator-0.0.3 lib/dummy_log_generator/dsl.rb
dummy_log_generator-0.0.2 lib/dummy_log_generator/dsl.rb