class Cuba::Generator
Constants
- APPROOT
- VERSION
Public Class Methods
new(name, type)
click to toggle source
# File lib/cuba/generator.rb, line 10 def initialize(name, type) @project_name = name.downcase @type = type create_dir create_config_file create_cuba_file puts "Created your Cuba #{@type} at /#{@project_name} directory. Rock on!" end
Public Instance Methods
create_config_file()
click to toggle source
# File lib/cuba/generator.rb, line 23 def create_config_file File.open("./#{@project_name}/config.ru", 'w+') do |file| file.write setup_config end end
create_cuba_file()
click to toggle source
# File lib/cuba/generator.rb, line 29 def create_cuba_file File.open("./#{@project_name}/#{@project_name}.rb", 'w+') do |file| file.write setup_cuba end end
create_database_file()
click to toggle source
# File lib/cuba/generator.rb, line 35 def create_database_file File.open("./#{@project_name}/database.rb", 'w+') do |file| file.write setup_database end File.open("./#{@project_name}/Gemfile", 'w+') do |file| file.write setup_gemfile end end
create_dir()
click to toggle source
# File lib/cuba/generator.rb, line 19 def create_dir Dir.mkdir(@project_name) end
Private Instance Methods
create_template(name)
click to toggle source
# File lib/cuba/generator.rb, line 66 def create_template(name) template = File.read File.join(APPROOT, 'templates/', "#{name}.erb") erb(template, {project_name: @project_name}) end
erb(template, vars)
click to toggle source
# File lib/cuba/generator.rb, line 71 def erb(template, vars) ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding }) end
setup_config()
click to toggle source
# File lib/cuba/generator.rb, line 54 def setup_config create_template 'rack_config' end
setup_cuba()
click to toggle source
# File lib/cuba/generator.rb, line 46 def setup_cuba if @type.to_sym == :app create_template 'app' elsif @type.to_sym == :api create_template 'api' end end
setup_database()
click to toggle source
# File lib/cuba/generator.rb, line 58 def setup_database create_template 'db' end
setup_gemfile()
click to toggle source
# File lib/cuba/generator.rb, line 62 def setup_gemfile create_template 'gemfile' end