Sha256: 84db0c113f6e3e562c302126820d6b627e1ac9f5a4545db9dced71871132fb2b

Contents?: true

Size: 697 Bytes

Versions: 2

Compression:

Stored size: 697 Bytes

Contents

module Riot
  class RunnableBlock
    attr_reader :definition
    def initialize(description, &definition)
      @description, @definition = description, definition || lambda { topic }
    end

    def to_s; @description; end
  end # RunnableBlock

  class Setup < RunnableBlock
    def initialize(&definition)
      super("setup", &definition)
    end

    def run(situation)
      situation.setup(&definition)
      [:setup]
    end
  end # Setup

  class Helper < RunnableBlock
    def initialize(name, &definition)
      super("helper #{name}", &definition)
      @name = name
    end

    def run(situation)
      situation.helper(@name, &definition)
      [:helper]
    end
  end
end # Riot

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
riot-0.10.12 lib/riot/runnable.rb
riot-0.10.12.pre lib/riot/runnable.rb