module Renogen::Cli
Command line interface helpers
Public Class Methods
init()
click to toggle source
Initialize the current working directory with an example change
# 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)
click to toggle source
Creates a new template file
@param ticket_name [String]
# 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)
click to toggle source
Execute the program via command line Renogen
exceptions will be rescued and printed @param args [Array]
# 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, options = param_parser.parse config_instance = Config.instance format = options['format'] || config_instance.output_format source = options['source'] || config_instance.input_source options['changelog_path'] ||= config_instance.changelog_path options['old_version'] ||= config_instance.changelog_path options['release_date'] ||= Date.today options['allowed_values'] ||= config_instance.validations begin generator = Renogen::Generator.new(version, source, format, options) generator.generate! rescue Renogen::Exceptions::Base => e puts e.message exit 1 end end