railman 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CUSTOMIZATION.md +62 -0
- data/lib/railman/cli.rb +13 -6
- data/lib/railman/secret.rb +9 -0
- data/lib/railman/version.rb +1 -1
- data/templates/rails_app/.env.example.tt +5 -6
- data/templates/rails_app/.gitignore +3 -13
- data/templates/rails_app/Capfile +5 -0
- data/templates/rails_app/Gemfile +27 -15
- data/templates/rails_app/{README.rdoc → README.md} +1 -1
- data/templates/rails_app/TODO.md +6 -5
- data/templates/rails_app/app/assets/javascripts/application.js +3 -0
- data/templates/rails_app/app/assets/stylesheets/application.sass +6 -0
- data/templates/rails_app/app/controllers/home_controller.rb +4 -0
- data/templates/rails_app/app/views/home/index.html.erb.tt +1 -0
- data/templates/rails_app/app/views/layouts/_messages.html.erb +7 -0
- data/templates/rails_app/app/views/layouts/application.html.erb.tt +21 -3
- data/templates/rails_app/config/database.yml.tt +6 -6
- data/templates/rails_app/config/deploy.rb.tt +113 -0
- data/templates/rails_app/config/routes.rb +1 -54
- data/templates/rails_app/config/unicorn.rb +5 -5
- metadata +10 -4
- data/templates/rails_app/app/assets/stylesheets/application.css +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7dd8f9ea6008b9afb27376763c562163572b470
|
4
|
+
data.tar.gz: 20e7645221bce277f9d603b159b73450908214bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee6352c4ee9f16190cd5a9fbfcb3b16dad3503a93a8bc3e8fcd5700002e5f15acc8bf7fb731fd13552eadedc980907ae20c6ecaf43e752c4f4c516a5acdad2fa
|
7
|
+
data.tar.gz: 6718d82038478ca897fef10eb8e0d0869e2475980403dca45041d88bec78f622d9b6ee673e29c70992ed1071aa8416cd9070f40161b3d6eb8882dc04853427d7
|
data/CUSTOMIZATION.md
CHANGED
@@ -14,11 +14,28 @@ If you install direnv, you don't have to use `bundle exec` any more, as the bin
|
|
14
14
|
|
15
15
|
Add following gems:
|
16
16
|
pg - postgres database driver
|
17
|
+
jquery-turbolinks - ?
|
18
|
+
bootstrap-sass - ?
|
19
|
+
bootstrap_form - ?
|
20
|
+
bootstrap-datepicker-rails - ?
|
21
|
+
active_link_to - ?
|
22
|
+
dalli & kgio - memcached client
|
23
|
+
unicorn & unicorn_rails - use unicorn in development and production
|
24
|
+
capistrano & capistrano-* - deployment with capistrano
|
17
25
|
exception_notification - notify me per email on each exception
|
26
|
+
better_errors & binding_of_caller - better error page with repl in development
|
27
|
+
quiet_assets - less noise in development log
|
18
28
|
letter_opener - open emails in popup window in the browser in development mode
|
29
|
+
minitest-reporters - generate xml for jenkins
|
30
|
+
simplecov & simplecov-rcov - generate coverage reports locally and for jenkins
|
31
|
+
capybara & capybara_minitest_spec - for webtests
|
32
|
+
selenium-webdriver - use real browser for webtests
|
33
|
+
poltergeist - headless tests with phantom.js
|
19
34
|
|
20
35
|
Remove following gems:
|
21
36
|
sqlite3 - we are using postgres per default
|
37
|
+
jbuilder - not every application needs it
|
38
|
+
byebug - we don't use it, we use the RubyMine debugger instead
|
22
39
|
|
23
40
|
Add the application-specific gems to Gemfile.local, so it can be kept separate from the base Gemfile.
|
24
41
|
|
@@ -79,3 +96,48 @@ Use database user and password from .env
|
|
79
96
|
|
80
97
|
Use SECRET_TOKEN from .env
|
81
98
|
|
99
|
+
## config/deploy.rb
|
100
|
+
|
101
|
+
Custom capistrano deployment script
|
102
|
+
|
103
|
+
## Capfile
|
104
|
+
|
105
|
+
Capistrano main file (generated by capify!)
|
106
|
+
|
107
|
+
## app/assets/stylesheets
|
108
|
+
|
109
|
+
Delete application.css
|
110
|
+
Add application.sass
|
111
|
+
|
112
|
+
## app/assets/javascripts/application.js
|
113
|
+
|
114
|
+
Add:
|
115
|
+
//= require jquery.turbolinks
|
116
|
+
//= require bootstrap-sprockets
|
117
|
+
//= require bootstrap-datepicker
|
118
|
+
|
119
|
+
## views/layouts
|
120
|
+
|
121
|
+
Modify application.html.erb
|
122
|
+
Add _messages.html.erb
|
123
|
+
|
124
|
+
## app/controllers/home_controller.rb
|
125
|
+
|
126
|
+
Home controller shows the main page
|
127
|
+
|
128
|
+
## app/views/home/index.html.erb
|
129
|
+
|
130
|
+
Dummy welcome page
|
131
|
+
|
132
|
+
## config/routes.rb
|
133
|
+
|
134
|
+
Remove comments and set root
|
135
|
+
|
136
|
+
## README
|
137
|
+
|
138
|
+
Remove README.rdoc
|
139
|
+
Add README.md
|
140
|
+
|
141
|
+
## .gitignore
|
142
|
+
|
143
|
+
Ignore: .env, .idea, .DS_Store
|
data/lib/railman/cli.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'creategem'
|
3
|
+
require 'railman/secret'
|
3
4
|
|
4
5
|
module Railman
|
5
6
|
class CLI < Thor
|
@@ -28,17 +29,23 @@ module Railman
|
|
28
29
|
@domains = [@domain]
|
29
30
|
end
|
30
31
|
@server = ask("What is the name of the production server?")
|
32
|
+
@repository = Creategem::Repository.new(vendor: :bitbucket,
|
33
|
+
user: git_repository_user_name(:bitbucket),
|
34
|
+
name: app_name,
|
35
|
+
gem_server_url: gem_server_url(:bitbucket))
|
36
|
+
@rake_secret = "TODO: generate with: rake secret"
|
37
|
+
@unicorn_behind_nginx = true
|
31
38
|
directory "rails_app", app_name
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
gem_server_url: gem_server_url(:bitbucket))
|
39
|
+
@rake_secret = Railman::Secret.generate_secret
|
40
|
+
@unicorn_behind_nginx = false
|
41
|
+
template "rails_app/.env.example.tt", "#{app_name}/.env"
|
36
42
|
Dir.chdir app_name do
|
37
|
-
create_local_git_repository
|
38
43
|
run "bundle install"
|
39
|
-
|
44
|
+
create_local_git_repository
|
45
|
+
create_remote_git_repository(@repository) if yes?("Do you want me to create bitbucket repository named #{app_name}? (y/n)")
|
40
46
|
end
|
41
47
|
say "The rails application '#{app_name}' was successfully created.", :green
|
48
|
+
say "Please check the settings in .env", :blue
|
42
49
|
end
|
43
50
|
|
44
51
|
desc "update APPNAME", "Update the rails upplication named APPNAME"
|
data/lib/railman/version.rb
CHANGED
@@ -12,7 +12,7 @@ DB_PASSWORD = 'password'
|
|
12
12
|
|
13
13
|
|
14
14
|
# Session secret - generate with: rake secret
|
15
|
-
SECRET_TOKEN = '
|
15
|
+
SECRET_TOKEN = '<%= @rake_secret %>'
|
16
16
|
|
17
17
|
|
18
18
|
# SMTP server settings
|
@@ -30,11 +30,10 @@ EXCEPTION_NOTIFICATION_EMAIL_PREFIX = '[<%= @class_name %>] '
|
|
30
30
|
EXCEPTION_NOTIFICATION_SENDER = 'server@<%= @domain %>'
|
31
31
|
|
32
32
|
# Unicorn settings
|
33
|
-
|
34
|
-
#
|
35
|
-
|
36
|
-
UNICORN_TIMEOUT = 60
|
37
|
-
|
33
|
+
UNICORN_BEHIND_NGINX = <%= @unicorn_behind_nginx %>
|
34
|
+
# UNICORN_WORKERS = 1
|
35
|
+
# UNICORN_PORT = 3000
|
36
|
+
# UNICORN_TIMEOUT = 60
|
38
37
|
|
39
38
|
# Rails environment
|
40
39
|
RAILS_ENV = 'development'
|
@@ -1,17 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
-
# or operating system, you probably want to add a global ignore instead:
|
5
|
-
# git config --global core.excludesfile '~/.gitignore_global'
|
6
|
-
|
7
|
-
# Ignore bundler config.
|
1
|
+
.DS_Store
|
2
|
+
/.idea
|
8
3
|
/.bundle
|
9
|
-
|
10
|
-
# Ignore the default SQLite database.
|
11
|
-
/db/*.sqlite3
|
12
|
-
/db/*.sqlite3-journal
|
13
|
-
|
14
|
-
# Ignore all logfiles and tempfiles.
|
15
4
|
/log/*
|
16
5
|
!/log/.keep
|
17
6
|
/tmp
|
7
|
+
.env
|
data/templates/rails_app/Gemfile
CHANGED
@@ -10,14 +10,19 @@ gem 'uglifier', '>= 1.3.0'
|
|
10
10
|
gem 'coffee-rails', '~> 4.1.0'
|
11
11
|
gem 'jquery-rails'
|
12
12
|
gem 'turbolinks'
|
13
|
+
gem 'jquery-turbolinks'
|
13
14
|
|
14
|
-
|
15
|
-
gem '
|
15
|
+
gem 'bootstrap-sass', '3.3.4.1'
|
16
|
+
gem 'bootstrap_form', '2.3.0' # form helper for twitter bootstrap
|
17
|
+
gem 'bootstrap-datepicker-rails', '1.4.0' # bootstrap-datepicker
|
18
|
+
gem 'active_link_to', '1.0.3' # automatically mark navigation link as active
|
16
19
|
|
17
|
-
#
|
18
|
-
|
20
|
+
gem 'dalli' # memcached client
|
21
|
+
gem 'kgio' # gives dalli 20-30% performance boost
|
19
22
|
|
20
|
-
|
23
|
+
# todo add sidekiq for backgroud jobs
|
24
|
+
|
25
|
+
gem 'unicorn', '4.8.3' # use unicorn as production server
|
21
26
|
gem 'unicorn-rails', '1.1.0' # use unicorn as local server
|
22
27
|
|
23
28
|
# capistrano deployment
|
@@ -26,21 +31,28 @@ gem 'capistrano-rails', '1.1.1'
|
|
26
31
|
gem 'capistrano-rbenv', '2.0.2'
|
27
32
|
gem 'capistrano-bundler', '1.1.2'
|
28
33
|
|
29
|
-
|
30
|
-
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
31
|
-
gem 'byebug'
|
32
|
-
end
|
34
|
+
gem 'exception_notification', '4.1.2' # exception notification per email
|
33
35
|
|
34
36
|
group :development do
|
35
|
-
#
|
36
|
-
gem '
|
37
|
-
|
38
|
-
#
|
39
|
-
gem '
|
37
|
+
gem 'better_errors' # better error pages in development
|
38
|
+
gem 'binding_of_caller' # repl on the error page
|
39
|
+
gem 'spring' # Spring speeds up development by keeping your application running in the background
|
40
|
+
gem 'quiet_assets' # less noise in development log
|
41
|
+
# gem 'rack-mini-profiler'
|
42
|
+
# gem 'flamegraph' # mini-profiler flamegraph extension (?pp=flamegraph)
|
40
43
|
end
|
41
44
|
|
42
|
-
|
45
|
+
group :test do
|
46
|
+
gem 'minitest-reporters', '1.1.7' # generate xml for jenkins
|
47
|
+
gem 'simplecov', require: false # generate coverage reports
|
48
|
+
gem 'simplecov-rcov', '0.2.3', require: false # generate coverage reports for jenkins
|
49
|
+
gem 'capybara', '2.6.0' # dsl for browser tests
|
50
|
+
gem 'capybara_minitest_spec', '1.0.5' # capybara rspec-style matchers (must_have...)
|
51
|
+
gem 'selenium-webdriver', '2.49.0' # use real browser for webtests
|
52
|
+
gem 'poltergeist', '1.8.1' # headless tests with phantom.js
|
53
|
+
end
|
43
54
|
|
55
|
+
# put additional application-specific gems to Gemfile.local
|
44
56
|
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
|
45
57
|
eval_gemfile(local_gemfile) if File.exists?(local_gemfile)
|
46
58
|
|
data/templates/rails_app/TODO.md
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
|
3
3
|
This file describes what you have to customize after you create a new rails application with railman
|
4
4
|
|
5
|
-
## .env
|
5
|
+
## .env
|
6
6
|
|
7
|
-
|
7
|
+
Check your settings in .env (database user/password, smpt server, emails, ...)
|
8
8
|
|
9
9
|
.env is gitignored. This is intended. You should create a local .env file on every server your deploy your rails application to, and modify the settings for that server.
|
10
10
|
|
11
|
-
Create secret token with `rake secret` and copy the secret to your .env file.
|
12
|
-
|
13
11
|
Try to keep all the application/server/environment specific settings, as well as all passwords here, as .env is not commited to git and exists only on a server or local user machine. This will also make future rails upgrades and changes in the configuration files less painful.
|
14
|
-
|
12
|
+
|
13
|
+
## create local database
|
14
|
+
|
15
|
+
todo: rake tasks
|
@@ -0,0 +1 @@
|
|
1
|
+
<p>Welcome to: <%= @class_name %></p>
|
@@ -1,14 +1,32 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
7
|
+
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
8
|
+
|
4
9
|
<title><%= @class_name %></title>
|
5
10
|
<%%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
6
11
|
<%%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
12
|
+
|
13
|
+
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
14
|
+
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
15
|
+
<!--[if lt IE 9]>
|
16
|
+
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
17
|
+
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
18
|
+
<![endif]-->
|
19
|
+
|
7
20
|
<%%= csrf_meta_tags %>
|
8
21
|
</head>
|
9
22
|
<body>
|
10
|
-
|
11
|
-
<%%=
|
12
|
-
|
23
|
+
<div class="container">
|
24
|
+
<%%= render 'layouts/messages' %>
|
25
|
+
<%%= yield %>
|
26
|
+
</div>
|
27
|
+
<script>
|
28
|
+
window.current_language = "<%%= I18n.locale %>";
|
29
|
+
window.date_format = "<%%= I18n.t('date.formats.datepicker') %>";
|
30
|
+
</script>
|
13
31
|
</body>
|
14
32
|
</html>
|
@@ -4,8 +4,8 @@ development:
|
|
4
4
|
port: 5432
|
5
5
|
host: localhost
|
6
6
|
database: <%= app_name %>_development
|
7
|
-
username:
|
8
|
-
password:
|
7
|
+
username: <%%= ENV['DB_USER'] %>
|
8
|
+
password: <%%= ENV['DB_PASSWORD'] %>
|
9
9
|
pool: 5
|
10
10
|
timeout: 5000
|
11
11
|
|
@@ -15,8 +15,8 @@ test:
|
|
15
15
|
port: 5432
|
16
16
|
host: localhost
|
17
17
|
database: <%= app_name %>_test
|
18
|
-
username:
|
19
|
-
password:
|
18
|
+
username: <%%= ENV['DB_USER'] %>
|
19
|
+
password: <%%= ENV['DB_PASSWORD'] %>
|
20
20
|
pool: 5
|
21
21
|
timeout: 5000
|
22
22
|
|
@@ -26,7 +26,7 @@ production:
|
|
26
26
|
port: 5432
|
27
27
|
host: localhost
|
28
28
|
database: <%= app_name %>_production
|
29
|
-
username:
|
30
|
-
password:
|
29
|
+
username: <%%= ENV['DB_USER'] %>
|
30
|
+
password: <%%= ENV['DB_PASSWORD'] %>
|
31
31
|
pool: 15
|
32
32
|
timeout: 5000
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# Capistrano deployment tasks
|
2
|
+
lock '3.1.0'
|
3
|
+
|
4
|
+
set :application, '<%= app_name %>'
|
5
|
+
set :repo_url, '<%= @repository.origin %>'
|
6
|
+
set :deploy_to, "/home/deploy/apps/#{fetch(:application)}"
|
7
|
+
set :rbenv_home, '/home/deploy/.rbenv'
|
8
|
+
set :environment, {path: "#{fetch(:rbenv_home)}/shims:#{fetch(:rbenv_home)}/bin:$PATH", rails_env: 'production'}
|
9
|
+
set :log_level, :info
|
10
|
+
|
11
|
+
SSHKit.config.command_map[:rake] = "#{fetch(:deploy_to)}/bin/rake"
|
12
|
+
%w(ln service start restart stop status).each do |cmd|
|
13
|
+
SSHKit.config.command_map[cmd.to_sym] = "sudo #{cmd}"
|
14
|
+
end
|
15
|
+
SSHKit.config.command_map[:eye] = "#{fetch(:rbenv_home)}/shims/eye"
|
16
|
+
SSHKit.config.command_map[:su_rm] = "sudo rm"
|
17
|
+
SSHKit.config.command_map[:letsencrypt] = "/opt/letsencrypt/letsencrypt-auto"
|
18
|
+
|
19
|
+
desc "Setup rails application for the first time on a server"
|
20
|
+
task :setup do
|
21
|
+
on roles(:all) do
|
22
|
+
with fetch(:environment) do
|
23
|
+
execute :git, :clone, fetch(:repo_url), fetch(:deploy_to)
|
24
|
+
within fetch(:deploy_to) do
|
25
|
+
execute :bundle, :install
|
26
|
+
execute :rake, 'db:create'
|
27
|
+
execute :psql, "-d #{fetch(:application)}_production", "-f db/#{fetch(:application)}.sql"
|
28
|
+
execute :rake, 'db:migrate'
|
29
|
+
execute :rake, 'assets:precompile'
|
30
|
+
execute :mkdir, "-p #{fetch(:deploy_to)}/tmp/pids"
|
31
|
+
end
|
32
|
+
server_conf_dir = "#{fetch(:deploy_to)}/config/server"
|
33
|
+
execute :ln, "-s #{server_conf_dir}/nginx.conf /etc/nginx/conf.d/#{fetch(:application)}.conf"
|
34
|
+
execute :ln, "-s #{server_conf_dir}/letsencrypt.conf /etc/nginx/letsencrypt/#{fetch(:application)}.conf"
|
35
|
+
execute :ln, "-s #{server_conf_dir}/logrotate.conf /etc/logrotate.d/#{fetch(:application)}"
|
36
|
+
execute :eye, :load, 'Eyefile'
|
37
|
+
execute :eye, :start, fetch(:application)
|
38
|
+
execute :service, "nginx stop"
|
39
|
+
execute :letsencrypt, "--config /etc/nginx/letsencrypt/#{fetch(:application)}.conf --standalone certonly"
|
40
|
+
execute :service, "nginx start"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
desc "Remove the application completely from the server"
|
46
|
+
task :remove do
|
47
|
+
on roles(:all) do
|
48
|
+
with fetch(:environment) do
|
49
|
+
within fetch(:deploy_to) do
|
50
|
+
execute :rake, 'db:drop'
|
51
|
+
end if test "[ -d #{fetch(:deploy_to)} ]"
|
52
|
+
execute :eye, :load, 'Eyefile'
|
53
|
+
execute :eye, :stop, fetch(:application)
|
54
|
+
execute :su_rm, "-f /etc/init/#{fetch(:application)}*"
|
55
|
+
execute :su_rm, "-rf #{fetch(:deploy_to)}"
|
56
|
+
execute :su_rm, "-f /etc/nginx/conf.d/#{fetch(:application)}.conf"
|
57
|
+
execute :su_rm, "-f /etc/nginx/conf.d/#{fetch(:application)}_ssl.conf"
|
58
|
+
execute :su_rm, "-f /etc/logrotate.d/#{fetch(:application)}"
|
59
|
+
execute :service, "nginx restart"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
desc "Deploy rails application"
|
65
|
+
task :deploy do
|
66
|
+
on roles(:all) do
|
67
|
+
with fetch(:environment) do
|
68
|
+
within fetch(:deploy_to) do
|
69
|
+
execute :git, :fetch, 'origin'
|
70
|
+
execute :git, :reset, '--hard origin/master'
|
71
|
+
execute :bundle, :install
|
72
|
+
execute :rake, 'db:migrate'
|
73
|
+
execute :rake, 'assets:precompile'
|
74
|
+
execute :eye, :load, 'Eyefile'
|
75
|
+
execute :eye, :restart, fetch(:application)
|
76
|
+
execute :service, "nginx restart"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
desc "Copy database from the server to the local machine"
|
83
|
+
task :sync_local do
|
84
|
+
on roles(:all) do
|
85
|
+
within fetch(:deploy_to) do
|
86
|
+
execute :pg_dump, "-U deploy --clean #{fetch(:application)}_production > db/#{fetch(:application)}.sql"
|
87
|
+
download! "#{fetch(:deploy_to)}/db/#{fetch(:application)}.sql", 'db'
|
88
|
+
end
|
89
|
+
end
|
90
|
+
run_locally do
|
91
|
+
execute "psql -d #{fetch(:application)}_development -f db/#{fetch(:application)}.sql"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
desc "Recreate server database from db/#{fetch(:application)}.sql"
|
96
|
+
task :reset_server do
|
97
|
+
on roles(:all) do
|
98
|
+
with fetch(:environment) do
|
99
|
+
within fetch(:deploy_to) do
|
100
|
+
execute :eye, :load, 'Eyefile'
|
101
|
+
execute :eye, :stop, fetch(:application)
|
102
|
+
execute :git, :fetch, 'origin'
|
103
|
+
execute :git, :reset, '--hard origin/master'
|
104
|
+
execute :rake, 'db:drop'
|
105
|
+
execute :rake, 'db:create'
|
106
|
+
execute :psql, "-d #{fetch(:application)}_production", "-f db/#{fetch(:application)}.sql"
|
107
|
+
execute :rake, 'db:migrate'
|
108
|
+
execute :eye, :start, fetch(:application)
|
109
|
+
execute :service, "nginx restart"
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -1,56 +1,3 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
-
#
|
3
|
-
# See how all your routes lay out with "rake routes".
|
4
|
-
|
5
|
-
# You can have the root of your site routed with "root"
|
6
|
-
# root 'welcome#index'
|
7
|
-
|
8
|
-
# Example of regular route:
|
9
|
-
# get 'products/:id' => 'catalog#view'
|
10
|
-
|
11
|
-
# Example of named route that can be invoked with purchase_url(id: product.id)
|
12
|
-
# get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
|
13
|
-
|
14
|
-
# Example resource route (maps HTTP verbs to controller actions automatically):
|
15
|
-
# resources :products
|
16
|
-
|
17
|
-
# Example resource route with options:
|
18
|
-
# resources :products do
|
19
|
-
# member do
|
20
|
-
# get 'short'
|
21
|
-
# post 'toggle'
|
22
|
-
# end
|
23
|
-
#
|
24
|
-
# collection do
|
25
|
-
# get 'sold'
|
26
|
-
# end
|
27
|
-
# end
|
28
|
-
|
29
|
-
# Example resource route with sub-resources:
|
30
|
-
# resources :products do
|
31
|
-
# resources :comments, :sales
|
32
|
-
# resource :seller
|
33
|
-
# end
|
34
|
-
|
35
|
-
# Example resource route with more complex sub-resources:
|
36
|
-
# resources :products do
|
37
|
-
# resources :comments
|
38
|
-
# resources :sales do
|
39
|
-
# get 'recent', on: :collection
|
40
|
-
# end
|
41
|
-
# end
|
42
|
-
|
43
|
-
# Example resource route with concerns:
|
44
|
-
# concern :toggleable do
|
45
|
-
# post 'toggle'
|
46
|
-
# end
|
47
|
-
# resources :posts, concerns: :toggleable
|
48
|
-
# resources :photos, concerns: :toggleable
|
49
|
-
|
50
|
-
# Example resource route within a namespace:
|
51
|
-
# namespace :admin do
|
52
|
-
# # Directs /admin/products/* to Admin::ProductsController
|
53
|
-
# # (app/controllers/admin/products_controller.rb)
|
54
|
-
# resources :products
|
55
|
-
# end
|
2
|
+
root 'home#index'
|
56
3
|
end
|
@@ -5,13 +5,13 @@ APP_ROOT = File.expand_path('../..', __FILE__)
|
|
5
5
|
require 'dotenv'
|
6
6
|
Dotenv.load
|
7
7
|
|
8
|
-
timeout Integer(ENV['UNICORN_TIMEOUT'])
|
9
|
-
if ENV['
|
10
|
-
listen
|
8
|
+
timeout Integer(ENV['UNICORN_TIMEOUT'] || 60)
|
9
|
+
if ENV['UNICORN_BEHIND_NGINX']
|
10
|
+
listen '/tmp/unicorn.<%= app_name %>.sock'
|
11
11
|
else
|
12
|
-
listen Integer(ENV['UNICORN_PORT'])
|
12
|
+
listen Integer(ENV['UNICORN_PORT'] || 3000)
|
13
13
|
end
|
14
|
-
worker_processes Integer(ENV['UNICORN_WORKERS'])
|
14
|
+
worker_processes Integer(ENV['UNICORN_WORKERS'] || 1)
|
15
15
|
working_directory APP_ROOT
|
16
16
|
pid "#{APP_ROOT}/tmp/pids/unicorn.pid"
|
17
17
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Jancev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -157,26 +157,31 @@ files:
|
|
157
157
|
- exe/railman
|
158
158
|
- lib/railman.rb
|
159
159
|
- lib/railman/cli.rb
|
160
|
+
- lib/railman/secret.rb
|
160
161
|
- lib/railman/version.rb
|
161
162
|
- railman.gemspec
|
162
163
|
- templates/rails_app/.env.example.tt
|
163
164
|
- templates/rails_app/.envrc
|
164
165
|
- templates/rails_app/.gitignore
|
165
166
|
- templates/rails_app/.ruby-version
|
167
|
+
- templates/rails_app/Capfile
|
166
168
|
- templates/rails_app/Eyefile.tt
|
167
169
|
- templates/rails_app/Gemfile
|
168
|
-
- templates/rails_app/README.
|
170
|
+
- templates/rails_app/README.md
|
169
171
|
- templates/rails_app/Rakefile
|
170
172
|
- templates/rails_app/TODO.md
|
171
173
|
- templates/rails_app/app/assets/images/.keep
|
172
174
|
- templates/rails_app/app/assets/javascripts/application.js
|
173
|
-
- templates/rails_app/app/assets/stylesheets/application.
|
175
|
+
- templates/rails_app/app/assets/stylesheets/application.sass
|
174
176
|
- templates/rails_app/app/controllers/application_controller.rb
|
175
177
|
- templates/rails_app/app/controllers/concerns/.keep
|
178
|
+
- templates/rails_app/app/controllers/home_controller.rb
|
176
179
|
- templates/rails_app/app/helpers/application_helper.rb
|
177
180
|
- templates/rails_app/app/mailers/.keep
|
178
181
|
- templates/rails_app/app/models/.keep
|
179
182
|
- templates/rails_app/app/models/concerns/.keep
|
183
|
+
- templates/rails_app/app/views/home/index.html.erb.tt
|
184
|
+
- templates/rails_app/app/views/layouts/_messages.html.erb
|
180
185
|
- templates/rails_app/app/views/layouts/application.html.erb.tt
|
181
186
|
- templates/rails_app/bin/bundle
|
182
187
|
- templates/rails_app/bin/rails
|
@@ -187,6 +192,7 @@ files:
|
|
187
192
|
- templates/rails_app/config/application.rb.tt
|
188
193
|
- templates/rails_app/config/boot.rb
|
189
194
|
- templates/rails_app/config/database.yml.tt
|
195
|
+
- templates/rails_app/config/deploy.rb.tt
|
190
196
|
- templates/rails_app/config/deploy/production.rb.tt
|
191
197
|
- templates/rails_app/config/environment.rb
|
192
198
|
- templates/rails_app/config/environments/development.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
-
* listed below.
|
4
|
-
*
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
7
|
-
*
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
|
-
* compiled file so the styles you add here take precedence over styles defined in any styles
|
10
|
-
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
11
|
-
* file per style scope.
|
12
|
-
*
|
13
|
-
*= require_tree .
|
14
|
-
*= require_self
|
15
|
-
*/
|