Module: Renogen::Cli
- Defined in:
- lib/renogen/cli.rb,
lib/renogen/cli/param_parser.rb
Overview
Command line interface helpers
Defined Under Namespace
Classes: ParamParser
Class Method Summary collapse
-
.init ⇒ Object
Initialize the current working directory with an example change.
-
.new_ticket(ticket_name) ⇒ Object
Creates a new template file.
-
.run(args) ⇒ Object
Execute the program via command line Renogen exceptions will be rescued and printed.
Class Method Details
.init ⇒ Object
Initialize the current working directory with an example change
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/renogen/cli.rb', line 36 def self.init # TODO: Refactor to use Config.instance.changelog_path Dir.mkdir('./change_log') puts "Created './change_log/'" Dir.mkdir('./change_log/next') puts "Created './change_log/next/'" File.open('./change_log/next/added_renogen_gem.yml', 'w') do |f| f.write("Summary:\n") f.write(" identifier: renogen\n") f.write(" link: https://github.com/DDAZZA/renogen\n") f.write(" summary: Added ReNoGen gem\n") f.write("\n") f.write("Detailed: |\n") f.write(" Added ReNoGen gem\n") f.write("\n") f.write(" Allows release notes to be generated\n") f.write("\n") f.write("Tasks:\n") f.write(" - $ renogen vX.Y.Z > release_vX_Y_Z.md\n") end puts "Created './change_log/next/added_renogen_gem.yml'" File.open('.renogen', 'w') do |f| f.write("changelog_path: './change_log/'\n") end puts "Created '.renogen'" end |
.new_ticket(ticket_name) ⇒ Object
Creates a new template file
70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/renogen/cli.rb', line 70 def self.new_ticket(ticket_name) raise 'You need to provide a ticket_name' if ticket_name.nil? file_path = File.join(Config.instance.changelog_path, 'next', "#{ticket_name}.yml") File.open(file_path, 'w') do |f| Config.instance.default_headings.each do |h| f.write("#{h}:\n") end end puts "Created '#{file_path}'" end |
.run(args) ⇒ Object
Execute the program via command line Renogen exceptions will be rescued and printed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/renogen/cli.rb', line 11 def self.run(args) return init if args.first == 'init' return new_ticket(args[1]) if args.first == 'new' param_parser = ParamParser.new(args) version, = param_parser.parse config_instance = Config.instance format = ['format'] || config_instance.output_format source = ['source'] || config_instance.input_source ['changelog_path'] ||= config_instance.changelog_path ['old_version'] ||= config_instance.changelog_path ['release_date'] ||= Date.today ['allowed_values'] ||= config_instance.validations begin generator = Renogen::Generator.new(version, source, format, ) generator.generate! rescue Renogen::Exceptions::Base => e puts e. exit 1 end end |