Sha256: 2df80af488fbafb202bb34fc91e67db63a7bcd620b103402ed387ddaab0fa67d
Contents?: true
Size: 564 Bytes
Versions: 4
Compression:
Stored size: 564 Bytes
Contents
module NxtPipeline class Step def initialize(constructor, **opts) define_attr_readers(opts) @opts = opts @constructor = constructor end attr_accessor :constructor def execute(arg) constructor.call(self, arg) # instance_exec(arg, &constructor) end def to_s "#{self.class} opts => #{opts}" end private attr_reader :opts def define_attr_readers(opts) opts.each do |key, value| define_singleton_method key.to_s do value end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
nxt_pipeline-0.2.4 | lib/nxt_pipeline/step.rb |
nxt_pipeline-0.2.3 | lib/nxt_pipeline/step.rb |
nxt_pipeline-0.2.2 | lib/nxt_pipeline/step.rb |
nxt_pipeline-0.2.1 | lib/nxt_pipeline/step.rb |