class Rhino::Cli
Public Class Methods
new(args)
click to toggle source
# File lib/rhino/cli.rb, line 3 def initialize(args) @args = args @template_path = File.join(File.dirname(__FILE__), 'generators', 'template_codes') end
Public Instance Methods
create_application_file(app_name)
click to toggle source
# File lib/rhino/cli.rb, line 22 def create_application_file(app_name) template_file = File.read(@template_path + '/application.rb.tt') new_file_content = template_file.gsub('{{app_name}}', module_app_name(app_name)) File.open("#{app_name}/config/application.rb", 'w') {|file| file.puts new_file_content } end
create_config_file(app_name)
click to toggle source
# File lib/rhino/cli.rb, line 28 def create_config_file(app_name) template_file = File.read(@template_path + '/config.ru.tt') new_file_content = template_file.gsub('{{app_name}}', module_app_name(app_name)) File.open("#{app_name}/config.ru", 'w') {|file| file.puts new_file_content } end
module_app_name(name)
click to toggle source
convert from string to module_name: ‘new_app’ => ‘NewApp’
# File lib/rhino/cli.rb, line 35 def module_app_name(name) name.split("_").map!{|x| x.capitalize}.join end
new_app(app_name)
click to toggle source
# File lib/rhino/cli.rb, line 14 def new_app(app_name) structure_path = @template_path + '/structure' FileUtils.cp_r structure_path, app_name create_application_file(app_name) create_config_file(app_name) p "created app `#{app_name}`" end
run()
click to toggle source
# File lib/rhino/cli.rb, line 8 def run if @args[0] == 'new' && !@args[1].nil? new_app(@args[1]) end end