Class: Cucumber::Glue::Snippet::CucumberExpression

Inherits:
BaseSnippet
  • Object
show all
Defined in:
lib/cucumber/glue/snippet.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseSnippet

cli_option_string, #initialize, #step

Constructor Details

This class inherits a constructor from Cucumber::Glue::Snippet::BaseSnippet

Class Method Details

.descriptionObject



108
109
110
# File 'lib/cucumber/glue/snippet.rb', line 108

def self.description
  'Cucumber Expressions'
end

Instance Method Details

#parameters(expr) ⇒ Object



102
103
104
105
106
# File 'lib/cucumber/glue/snippet.rb', line 102

def parameters(expr)
  parameter_names = expr.parameter_names
  multiline_argument.append_block_parameter_to(parameter_names)
  parameter_names.empty? ? '' : " |#{parameter_names.join(", ")}|"
end

#to_sObject



88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/cucumber/glue/snippet.rb', line 88

def to_s
  header = generated_expressions.each_with_index.map do |expr, i|
    prefix = i == 0 ? '' : '# '
    "#{prefix}#{code_keyword}(\"#{expr.source}\") do#{parameters(expr)}"
  end.join("\n")

  body = String.new
  multiline_argument.append_comment_to(body)
  body << "  pending # Write code here that turns the phrase above into concrete actions\n"
  body << 'end'

  "#{header}\n#{body}"
end

#typed_patternObject



84
85
86
# File 'lib/cucumber/glue/snippet.rb', line 84

def typed_pattern
  "(\"#{generated_expressions[0].source}\")"
end