Class: CukePages::FeatureParser

Inherits:
Object
  • Object
show all
Defined in:
lib/cukepages/feature_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(feature_path) ⇒ FeatureParser

Returns a new instance of FeatureParser.



23
24
25
26
27
28
29
# File 'lib/cukepages/feature_parser.rb', line 23

def initialize(feature_path)
  @path = feature_path
  @feature_text = File.open(@path) { |f|
    f.read 
  }
  self
end

Instance Method Details

#parseObject



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/cukepages/feature_parser.rb', line 31

def parse
  feature = CukePages::Feature.new(filename, title)

  @feature_text.each_line { |line|
    if line_match = line.match(/^(\s*Scenario\s*:.*$)/)
      scenario_parts = @feature_text.partition(line_match[1])
      scenario = parse_scenario scenario_parts[1..-1]
      feature.scenarios << scenario 
    end
  }
  feature
end