class Lopata::SharedStep

@private

Attributes

block[R]
name[R]

Public Class Methods

find(name) click to toggle source
# File lib/lopata/shared_step.rb, line 14
def self.find(name)
  registry[name] or raise NotFound, "Shared step '%s' not found" % name
end
new(name, &block) click to toggle source
# File lib/lopata/shared_step.rb, line 18
def initialize(name, &block)
  @name, @block = name, block
end
register(name, &block) click to toggle source
# File lib/lopata/shared_step.rb, line 9
def self.register(name, &block)
  raise ArgumentError, "Comma is not allowed in shared step name: '%s'" % name if name =~ /,/
  registry[name] = new(name, &block)
end

Private Class Methods

registry() click to toggle source
# File lib/lopata/shared_step.rb, line 35
def self.registry
  @shared_steps ||= {}
end

Public Instance Methods

build_steps() click to toggle source
# File lib/lopata/shared_step.rb, line 26
def build_steps
  builder = Lopata::ScenarioBuilder.new(name)
  builder.shared_step = self
  builder.instance_exec(&block)
  builder.steps
end
steps() click to toggle source
# File lib/lopata/shared_step.rb, line 22
def steps
  @steps ||= build_steps
end