Class: SinatraCmd::Generator

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/sinatra_cmd/generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



9
10
11
# File 'lib/sinatra_cmd/generator.rb', line 9

def self.source_root
  File.join(File.dirname(__FILE__), "../../", "templates")
end

Instance Method Details

#bundle_installObject



44
45
46
# File 'lib/sinatra_cmd/generator.rb', line 44

def bundle_install
  system "cd #{app_name} && bundle install && cd ../"
end

#create_appfileObject



30
31
32
33
34
35
36
# File 'lib/sinatra_cmd/generator.rb', line 30

def create_appfile
  copy_file ".gitignore", "#{app_name}/.gitignore"
  copy_file "Gemfile", "#{app_name}/Gemfile"
  copy_file "Rakefile", "#{app_name}/Rakefile"
  template "config.ru.erb", "#{app_name}/config.ru"
  template "README.md.erb", "#{app_name}/README.md"
end

#create_configObject



22
23
24
25
26
27
28
# File 'lib/sinatra_cmd/generator.rb', line 22

def create_config
  template "config/database.yml.erb", "#{app_name}/config/database.yml"
  template "config/application.rb.erb", "#{app_name}/config/application.rb"
  template "config/boot.rb.erb", "#{app_name}/config/boot.rb"
  copy_file "config/environment.rb", "#{app_name}/config/environment.rb"
  copy_file "config/scheduler.rb", "#{app_name}/config/scheduler.rb"
end

#create_models_dirObject



13
14
15
# File 'lib/sinatra_cmd/generator.rb', line 13

def create_models_dir
  keep_file "#{app_name}/models"
end

#create_routes_dirObject



17
18
19
20
# File 'lib/sinatra_cmd/generator.rb', line 17

def create_routes_dir
  keep_file "#{app_name}/routes"
  template "routes/demo.rb.erb", "#{app_name}/routes/demo.rb"
end

#setup_rspecObject



38
39
40
41
42
# File 'lib/sinatra_cmd/generator.rb', line 38

def setup_rspec
  keep_file "#{app_name}/sepc"
  copy_file "sepc/spec_helper.rb", "#{app_name}/sepc/spec_helper.rb"
  copy_file ".rspec", "#{app_name}/.rspec"
end