lib/cukedep/application.rb in cukedep-0.0.1 vs lib/cukedep/application.rb in cukedep-0.0.3
- old
+ new
@@ -8,66 +8,69 @@
require_relative 'gherkin-listener'
require_relative 'feature-model'
module Cukedep # Module used as a namespace
-# Runner for the Cukedep application
+# Runner for the Cukedep application.
class Application
attr_reader(:proj_dir)
public
- # Entry point for the application object.
- def start!(theCmdLineArgs)
+ # Entry point for the application object.
+ def start!(theCmdLineArgs)
options = options_from(theCmdLineArgs)
- create_default_cfg() if options[:setup]
- config = load_cfg()
+ create_default_cfg if options[:setup]
+ config = load_cfg
# Complain if no project dir is specified
if config.proj_dir.nil? || config.proj_dir.empty?
if options[:project]
@proj_dir = options[:project]
else
- fail(StandardError, "No project dir specified via 'Cukedep::YMLFilename' nor via --project option.")
+ msg_p1 = "No project dir specified via 'Cukedep::YMLFilename'"
+ msg_p2 = ' nor via --project option.'
+ fail(StandardError, msg_p1 + msg_p2)
end
else
@proj_dir = config.proj_dir
end
- feature_files = parse_features()
+ feature_files = parse_features
model = FeatureModel.new(feature_files)
generate_files(model)
- unless options[:"dry-run"]
- rake_cmd = "rake -f cukedep.rake"
+ unless options[:dryrun]
+ rake_cmd = 'rake -f cukedep.rake'
system(rake_cmd)
end
end
protected
- # Retrieve the user-entered command-line options
+ # Retrieve the user-entered command-line options
def options_from(theCmdLineArgs)
cli = CLI::CmdLine.new
- options = cli.parse!(theCmdLineArgs.dup)
+ cli.parse!(theCmdLineArgs.dup)
end
+
# Create a local copy of the .cukedep.yml file, then
# stop the application.
def create_default_cfg()
if File.exist?(Cukedep::YMLFilename)
puts "OK to overwrite file #{Cukedep::YMLFilename}."
puts '(Y/N)?'
- answer = $stdin.gets()
+ answer = $stdin.gets
exit if answer =~ /^\s*[Nn]\s*$/
end
- File::open(Cukedep::YMLFilename, 'w') { |f| YAML.dump(Config.default, f) }
+ File.open(Cukedep::YMLFilename, 'w') { |f| YAML.dump(Config.default, f) }
exit
end
# Read the .cukedep.yml file in the current working directory
def load_cfg()
if File.exist?(Cukedep::YMLFilename)
- YAML::load_file(Cukedep::YMLFilename)
+ YAML.load_file(Cukedep::YMLFilename)
else
Config.default
end
end
@@ -84,29 +87,30 @@
puts "\nParsing:"
# Parse them
filenames.each do |fname|
puts " #{fname}"
- File::open(fname, 'r') { |f| parser.parse(f.read, fname, 0) }
+ File.open(fname, 'r') { |f| parser.parse(f.read, fname, 0) }
end
return listener.feature_files
end
def generate_files(aModel)
# Sort the feature files by dependency order.
- aModel.sort_features_by_dep()
+ aModel.sort_features_by_dep
puts "\nGenerating:"
# Generate CSV files detailing the feature to identifier mapping
# and vise versa
+ # TODO: replace hardcoded names by value from config
aModel.mapping_reports('feature2id.csv', 'id2feature.csv', true)
aModel.draw_dependency_graph('dependencies.dot', true)
aModel.generate_rake_tasks('cukedep.rake', proj_dir)
end
end # class
end # module
-# End of file
\ No newline at end of file
+# End of file