Sha256: dec03dca5f060af0ee99c2bb0a303dc7e0c83c947db0305f26bb4d58bd63ca8f

Contents?: true

Size: 621 Bytes

Versions: 5

Compression:

Stored size: 621 Bytes

Contents

module Sequins
  class SequenceBuilder
    def initialize(klass)
      @seq = Sequence.new(klass)
      @klass = klass
    end

    def step(name, options={}, &block)
      @seq.add_step(name, options, &block)
      self
    end

    def before_each_step(&block)
      @seq.add_hook(:before_each_step, &block)
    end

    def after_each_step(&block)
      @seq.add_hook(:after_each_step, &block)
    end

    def before_sequence(&block)
      @seq.add_hook(:before_sequence, &block)
    end

    def after_sequence(&block)
      @seq.add_hook(:after_sequence, &block)
    end

    def build
      @seq
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sequins-0.1.6 lib/sequins/sequence_builder.rb
sequins-0.1.5 lib/sequins/sequence_builder.rb
sequins-0.1.4 lib/sequins/sequence_builder.rb
sequins-0.1.3 lib/sequins/sequence_builder.rb
sequins-0.1.2 lib/sequins/sequence_builder.rb