Class: Pullentity::Client::Generate::Project
- Inherits:
-
Thor
- Object
- Thor
- Pullentity::Client::Generate::Project
show all
- Extended by:
- Utils
- Includes:
- Utils
- Defined in:
- lib/pullentity-client/generate/project.rb
Class Attribute Summary collapse
Class Method Summary
collapse
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
|
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
|