class Rutabaga::Util
Public Class Methods
build_scenario_groups(feature_file)
click to toggle source
# File lib/rutabaga/util.rb, line 51 def build_scenario_groups(feature_file) [Turnip::Builder.build(feature_file)] end
find_feature(description)
click to toggle source
# File lib/rutabaga/util.rb, line 23 def find_feature(description) tried = [] if description =~ /.*\.(feature|rutabaga)\Z/ return description if File.exists?(description) tried << description candidate = File.join(extract_directory, description) return candidate if File.exists?(candidate) tried << candidate else feature_files = extract_features feature_files.each do |feature_file| return feature_file if File.exists?(feature_file) end tried += feature_files end raise "Feature file not found. Tried: #{tried.join(', ')}" end
require_if_exists(filename)
click to toggle source
# File lib/rutabaga/util.rb, line 44 def require_if_exists(filename) require filename rescue LoadError => e # Don't hide LoadErrors raised in the spec helper. raise unless e.message.include?(filename) end
Private Class Methods
extract_directory()
click to toggle source
# File lib/rutabaga/util.rb, line 57 def extract_directory caller(0).find do |call| call =~ /_spec.rb:/ end.gsub(/\/[^\/]+_spec.rb:.*\Z/, '') end
extract_features()
click to toggle source
# File lib/rutabaga/util.rb, line 63 def extract_features base = caller(0).find do |call| call =~ /_spec.rb:/ end.gsub(/_spec.rb:.*\Z/, '') [base+'.feature', base+'.rutabaga'] end