Method: Padrino::Generators::Project#setup_project
- Defined in:
- padrino-gen/lib/padrino-gen/generators/project.rb
#setup_project ⇒ Object
Copies over the Padrino base application app.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'padrino-gen/lib/padrino-gen/generators/project.rb', line 45 def setup_project valid_constant? name app = ([:app] || "App") @project_name = name.gsub(/\W/, '_').underscore.camelize fail "Constant `#{@project_name}` already exists. Please, use another name" if already_exists?(@project_name) @app_name = app.gsub(/\W/, '_').camelize self.destination_root = File.join([:root], name) if [:template] execute_runner(:template, [:template]) else directory('project/', destination_root) empty_directory destination_root('public/images') empty_directory destination_root('public/javascripts') empty_directory destination_root('public/stylesheets') store_component_config('.components') unless [:lean] app_skeleton('app', [:tiny]) append_file destination_root('config/apps.rb'), "Padrino.mount('#{@project_name}::#{@app_name}', :app_file => Padrino.root('app/app.rb')).to('/')\n" end template 'templates/Gemfile.tt', destination_root('Gemfile') template 'templates/Rakefile.tt', destination_root('Rakefile') template 'templates/project_bin.tt', destination_root("exe/#{name}") File.chmod(0755, destination_root("exe/#{name}")) if .gem? template 'templates/gem/gemspec.tt', destination_root(name + '.gemspec') inject_into_file destination_root('Rakefile'), "require 'bundler/gem_tasks'\n", :after => "require 'bundler/setup'\n" template 'templates/gem/README.md.tt', destination_root('README.md') template 'templates/gem/lib/libname.tt', destination_root("lib/#{name}.rb") template 'templates/gem/lib/libname/version.tt', destination_root("lib/#{name}/version.rb") else empty_directory_with_keep_file destination_root('tmp') empty_directory_with_keep_file destination_root('log') end end end |