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



57
58
59
# File 'lib/sinatra_cmd/generator.rb', line 57

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

#setup_appfileObject



43
44
45
46
47
48
49
# File 'lib/sinatra_cmd/generator.rb', line 43

def setup_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

#setup_configObject



32
33
34
35
36
37
38
39
40
41
# File 'lib/sinatra_cmd/generator.rb', line 32

def setup_config
  template "config/mongo_mapper.yml.erb", "#{app_name}/config/mongo_mapper.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"

  # i18n
  copy_file "config/i18n/en-us.yml", "#{app_name}/config/i18n/en-us.yml"
  copy_file "config/i18n/zh-cn.yml", "#{app_name}/config/i18n/zh-cn.yml"
end

#setup_helpersObject



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

def setup_helpers
  keep_file "#{app_name}/helpers"
  template "helpers/application.rb.erb", "#{app_name}/helpers/application.rb"
  template "helpers/error_handling.rb.erb", "#{app_name}/helpers/error_handling.rb"
end

#setup_libObject



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

def setup_lib
  keep_file "#{app_name}/lib"
end

#setup_modelsObject



23
24
25
# File 'lib/sinatra_cmd/generator.rb', line 23

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

#setup_routesObject



27
28
29
30
# File 'lib/sinatra_cmd/generator.rb', line 27

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

#setup_rspecObject



51
52
53
54
55
# File 'lib/sinatra_cmd/generator.rb', line 51

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