Class: Cucumber::CucumberExpressions::GroupBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/cucumber_expressions/group_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGroupBuilder

Returns a new instance of GroupBuilder.



10
11
12
13
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 10

def initialize
  @group_builders = []
  @capturing = true
end

Instance Attribute Details

#sourceObject

Returns the value of attribute source.



8
9
10
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 8

def source
  @source
end

Instance Method Details

#add(group_builder) ⇒ Object



15
16
17
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 15

def add(group_builder)
  @group_builders.push(group_builder)
end

#build(match, group_indices) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 19

def build(match, group_indices)
  group_index = group_indices.next
  children = @group_builders.map { |gb| gb.build(match, group_indices) }
  Group.new(
      match[group_index], 
      match.offset(group_index)[0], 
      match.offset(group_index)[1], 
      children.empty? ? nil : children
  )
end

#capturing?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 34

def capturing?
  @capturing
end

#childrenObject



44
45
46
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 44

def children
  @group_builders
end

#move_children_to(group_builder) ⇒ Object



38
39
40
41
42
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 38

def move_children_to(group_builder)
  @group_builders.each do |child|
    group_builder.add(child)
  end
end

#set_non_capturing!Object



30
31
32
# File 'lib/cucumber/cucumber_expressions/group_builder.rb', line 30

def set_non_capturing!
  @capturing = false
end