Class: Pullentity::Client::Generate::Project
Class Attribute Summary collapse
-
.app_id ⇒ Object
Returns the value of attribute app_id.
-
.device_platform ⇒ Object
Returns the value of attribute device_platform.
-
.project_name ⇒ Object
Returns the value of attribute project_name.
Class Method Summary collapse
- .copy_defaults ⇒ Object
- .create(name) ⇒ Object
- .create_project_directory ⇒ Object
- .generate_files ⇒ Object
- .location ⇒ Object
- .remove_old_files ⇒ Object
- .source_root ⇒ Object
Instance Method Summary collapse
Methods included from Utils
base_location, create_directories, create_new_file, create_with_template, error, log, remove_directories, remove_files, templates, touch, underscore
Class Attribute Details
.app_id ⇒ Object
Returns the value of attribute app_id.
11 12 13 |
# File 'lib/pullentity-client/generate/project.rb', line 11 def app_id @app_id end |
.device_platform ⇒ Object
Returns the value of attribute device_platform.
11 12 13 |
# File 'lib/pullentity-client/generate/project.rb', line 11 def device_platform @device_platform end |
.project_name ⇒ Object
Returns the value of attribute project_name.
11 12 13 |
# File 'lib/pullentity-client/generate/project.rb', line 11 def project_name @project_name end |
Class Method Details
.copy_defaults ⇒ Object
29 30 |
# File 'lib/pullentity-client/generate/project.rb', line 29 def copy_defaults end |
.create(name) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/pullentity-client/generate/project.rb', line 15 def create(name) @project_name = name begin create_directories('tmp') copy_defaults remove_old_files generate_files log "Your Pullentity Theme project is ready for you to get coding!" rescue => e error "There was an error generating your Pullentity Client project. #{e} #{e.backtrace}" end end |
.create_project_directory ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/pullentity-client/generate/project.rb', line 52 def create_project_directory create_directories('docs', 'spec', "source/assets", "source/assets/images", "source/assets/fonts", "source/assets/stylesheets", "source/assets/javascripts", "source/views", "source/models") end |
.generate_files ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/pullentity-client/generate/project.rb', line 32 def generate_files create_project_directory full_app_hash = {:app_name => @project_name, :app_name_underscore => underscore(@project_name), :platform => @device_platform} create_with_template('.gitignore', 'defaults/gitignore', full_app_hash) create_with_template('Gemfile', 'defaults/Gemfile', full_app_hash) create_with_template('LICENSE', 'defaults/LICENSE', full_app_hash) create_with_template('pullentity.yml', 'defaults/pullentity.yml', full_app_hash) create_with_template('config.rb', 'defaults/config', full_app_hash) default_templates = ['Readme.mkd'] default_templates.each do |tempfile| create_with_template(tempfile, "defaults/#{tempfile}", full_app_hash) end FileUtils.cp_r(templates("app/."), location.join("source/") ) create_with_template('source/layout.haml', 'defaults/layout.haml', full_app_hash) end |
.location ⇒ Object
66 67 68 |
# File 'lib/pullentity-client/generate/project.rb', line 66 def location base_location.join(@project_name) end |
.remove_old_files ⇒ Object
63 64 |
# File 'lib/pullentity-client/generate/project.rb', line 63 def remove_old_files end |
.source_root ⇒ Object
70 71 72 |
# File 'lib/pullentity-client/generate/project.rb', line 70 def source_root File.dirname(__FILE__) end |
Instance Method Details
#new(name) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/pullentity-client/generate/project.rb', line 81 def new(name) if File.exist?(base_location.join(name)) if yes?("#{name} already exists, do you want to override? (yes or no)") ::Pullentity::Client::Generate::Project.create(name) else say "Skipping #{name} because it already exists" end else ::Pullentity::Client::Generate::Project.create(name) end end |