Sha256: 0319924c4d8655430b4db1e793f9489008d3b65912a96fa6280c4a74e1ca70a5

Contents?: true

Size: 697 Bytes

Versions: 7

Compression:

Stored size: 697 Bytes

Contents

module Riot
  class RunnableBlock
    attr_reader :definition
    def initialize(description, &definition)
      @description, @definition = description, definition || lambda { false }
    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

7 entries across 7 versions & 1 rubygems

Version Path
riot-0.11.4.pre lib/riot/runnable.rb
riot-0.11.3 lib/riot/runnable.rb
riot-0.11.2 lib/riot/runnable.rb
riot-0.11.1 lib/riot/runnable.rb
riot-0.11.0 lib/riot/runnable.rb
riot-0.10.13 lib/riot/runnable.rb
riot-0.10.13.pre lib/riot/runnable.rb