Class: ExpressCmd::Generator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



10
11
12
# File 'lib/express_cmd/generator.rb', line 10

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

Instance Method Details

#bundle_installObject



69
70
71
72
73
# File 'lib/express_cmd/generator.rb', line 69

def bundle_install
  unless options[:skip_npm_install]
    system "cd #{app_name} && npm install && cd ../"
  end
end

#setup_appfileObject



61
62
63
64
65
66
67
# File 'lib/express_cmd/generator.rb', line 61

def setup_appfile
  copy_file ".gitignore", "#{app_name}/.gitignore"
  copy_file "Makefile", "#{app_name}/Makefile"
  copy_file "server.js", "#{app_name}/server.js"
  template "package.json.erb", "#{app_name}/package.json"
  template "README.md.erb", "#{app_name}/README.md"
end

#setup_configObject



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/express_cmd/generator.rb', line 20

def setup_config
  empty_directory "#{app_name}/config"
  copy_file "config/mongo.js", "#{app_name}/config/mongo.js"
  copy_file "config/mongo.yml", "#{app_name}/config/mongo.yml"

  empty_directory "#{app_name}/config/locales"
  empty_directory "#{app_name}/config/locales/en-us"
  empty_directory "#{app_name}/config/locales/zh-cn"
  copy_file "config/locales/en-us/ns.special.json", "#{app_name}/config/locales/en-us/ns.special.json"
  copy_file "config/locales/zh-cn/ns.special.json", "#{app_name}/config/locales/zh-cn/ns.special.json"
  copy_file "config/i18n.js", "#{app_name}/config/i18n.js"
end

#setup_libObject



14
15
16
17
18
# File 'lib/express_cmd/generator.rb', line 14

def setup_lib
  empty_directory "#{app_name}/lib"
  copy_file "lib/errors.js", "#{app_name}/lib/errors.js"
  copy_file "lib/logger.js", "#{app_name}/lib/logger.js"
end

#setup_middlewareObject



33
34
35
36
37
38
39
# File 'lib/express_cmd/generator.rb', line 33

def setup_middleware
  empty_directory "#{app_name}/middlewares"
  copy_file "middlewares/before-filter.js", "#{app_name}/middlewares/before-filter.js"
  copy_file "middlewares/error-handler.js", "#{app_name}/middlewares/error-handler.js"
  copy_file "middlewares/morgan-log.js", "#{app_name}/middlewares/morgan-log.js"
  copy_file "middlewares/i18n.js", "#{app_name}/middlewares/i18n.js"
end

#setup_modelObject



41
42
43
# File 'lib/express_cmd/generator.rb', line 41

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

#setup_routeObject



45
46
47
48
49
50
# File 'lib/express_cmd/generator.rb', line 45

def setup_route
  empty_directory "#{app_name}/routes"
  copy_file "routes/instance.js", "#{app_name}/routes/instance.js"
  copy_file "routes/configuration.js", "#{app_name}/routes/configuration.js"
  copy_file "routes/translation.js", "#{app_name}/routes/translation.js"
end

#setup_testObject



52
53
54
55
56
57
58
59
# File 'lib/express_cmd/generator.rb', line 52

def setup_test
  empty_directory "#{app_name}/test"
  keep_file "#{app_name}/test/reporter"
  empty_directory "#{app_name}/test/units"

  copy_file "test/test-helper.js", "#{app_name}/test/test-helper.js"
  copy_file "test/units/demo_test.js", "#{app_name}/test/units/demo_test.js"
end