class Swgr2rb::FeatureFileGenerator
FeatureFileGenerator
generates an example feature file that uses scaffold's base steps to make a request to one of the endpoints described by generated endpoint object models.
Public Class Methods
new(params)
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 10 def initialize(params) @params = params @filename = generate_filename end
Public Instance Methods
generate_feature_file()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 15 def generate_feature_file File.open(@filename, 'w') do |file| file.write(generate_lines.join("\n\n")) end end
Private Instance Methods
example_endpoint()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 53 def example_endpoint all_endpoints = Dir.glob(File.join(@params[:target_dir], @params[:component], '*.rb')) @example_endpoint ||= all_endpoints.min .split('/').last.sub('.rb', '') .split('_').map(&:capitalize).join(' ') end
generate_feature_name()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 41 def generate_feature_name ScaffoldGeneratorConstants::FF_NAME end
generate_filename()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 23 def generate_filename File.join(ScaffoldGeneratorConstants::HARNESS_DIR, ScaffoldGeneratorConstants::FEATURES_DIR, @params[:component], ScaffoldGeneratorConstants::FEATURE_FILE_NAME) end
generate_lines()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 30 def generate_lines [generate_tags, generate_feature_name, generate_scenario_name, generate_steps].flatten.compact end
generate_scenario_name()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 45 def generate_scenario_name ScaffoldGeneratorConstants::FF_SCENARIO.call(example_endpoint) end
generate_steps()
click to toggle source
# File lib/scaffold_generator/feature_file_generator.rb, line 49 def generate_steps ScaffoldGeneratorConstants::FF_STEPS.call(example_endpoint) end