Sha256: f57d154c22fe9486958442cc21f2a0b7378f90b29ddf36aaf9dc39fc6f64d305

Contents?: true

Size: 691 Bytes

Versions: 5

Compression:

Stored size: 691 Bytes

Contents

module Sequins
  class Base
    def self.sequence(&block)
      if block_given?
        @_sequence = Docile.dsl_eval(SequenceBuilder.new(self), &block).build
        after_sequence_build(@_sequence) if respond_to?(:after_sequence_build)
      else
        @_sequence
      end
    end
  
    def self.sequence_name
      self.to_s.underscore.gsub(/_sequence$/, '')
    end
  
    def self.trigger(target, *args)
      sequence.trigger(target, *args)
    end
  
    def trigger(target, *args)
      self.class.trigger(target, *args)
    end
  
    def run_step_for_target(step_name, target, *args)
      self.class.sequence.run_step_for_target(step_name, target, *args)
    end    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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