Sha256: 39caaf1bf52947fcb79facf0d1987bd0f8063074a65102ed0f8eb52931fb9340

Contents?: true

Size: 904 Bytes

Versions: 9

Compression:

Stored size: 904 Bytes

Contents

module Metacrunch
  class Job::Dsl
    require_relative "dsl/option_support"

    def initialize(job)
      @_job = job
    end

    def source(source)
      @_job.add_source(source)
    end

    def destination(destination)
      @_job.add_destination(destination)
    end

    def pre_process(callable = nil, &block)
      @_job.add_pre_process(callable, &block)
    end

    def post_process(callable = nil, &block)
      @_job.add_post_process(callable, &block)
    end

    def transformation_buffer(size)
      @_job.add_transformation_buffer(size)
    end

    def transformation(callable = nil, &block)
      @_job.add_transformation(callable, &block)
    end

    def options(require_args: false, &block)
      if block_given?
        @_options = OptionSupport.new.register_options(@_job.args, require_args: require_args, &block)
      else
        @_options ||= {}
      end
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
metacrunch-3.1.4 lib/metacrunch/job/dsl.rb
metacrunch-3.1.3 lib/metacrunch/job/dsl.rb
metacrunch-3.1.2 lib/metacrunch/job/dsl.rb
metacrunch-3.1.1 lib/metacrunch/job/dsl.rb
metacrunch-3.1.0 lib/metacrunch/job/dsl.rb
metacrunch-3.0.3 lib/metacrunch/job/dsl.rb
metacrunch-3.0.2 lib/metacrunch/job/dsl.rb
metacrunch-3.0.1 lib/metacrunch/job/dsl.rb
metacrunch-3.0.0 lib/metacrunch/job/dsl.rb