class Sinator::Command
Public Class Methods
parse(options)
click to toggle source
# File lib/sinator/command.rb, line 7 def self.parse(options) options = %w(--help) if options.empty? || options.nil? args = {} result = nil option_parser = OptionParser.new do |opts| opts.banner = "Usage: sinator [options]" opts.on("-h", "--help", "Print this help") do result = opts.to_s end opts.on("-v", "--version", "Show version") do result = Sinator::VERSION end opts.on("-nNAME", "--name=NAME", "generate app with name from this option") do |name| args[:name] = name end opts.on("-tDIR", "--target=DIR", "instead of current directory, generate app in target DIR") do |target| args[:target] = target end opts.on("-d", "--database", "add sequel orm for postgres sql") do args[:database] = true end end option_parser.parse! options result = run(args) unless args[:name].nil? result end
run(args)
click to toggle source
# File lib/sinator/command.rb, line 44 def self.run(args) generator = Sinator::Generator.new args[:name], destination: args[:target], with_database: args[:database] generator.generate_app generator.generate_rakefile generator.generate_gemfile generator.generate_bundle_config generator.generate_puma_config msg = "#{args[:name]} is successfully generated" msg << " in #{args[:target]}" if args[:target] msg end