inline_forms 5.0.20 → 5.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +5 -0
- data/bin/inline_forms +2 -1
- data/bin/inline_forms_installer_core.rb +19 -13
- data/lib/generators/USAGE +1 -1
- data/lib/generators/inline_forms_generator.rb +9 -8
- data/lib/generators/templates/application.yml.blank +3 -0
- data/lib/generators/templates/capistrano/Capfile +44 -0
- data/lib/generators/templates/capistrano/deploy.rb +39 -0
- data/lib/generators/templates/capistrano/production.rb +7 -0
- data/lib/generators/templates/migration.erb +2 -3
- data/lib/generators/templates/model.erb +1 -1
- data/lib/generators/templates/unicorn/production.rb +39 -0
- data/lib/inline_forms.rb +2 -2
- data/lib/inline_forms/version.rb +1 -1
- metadata +6 -4
- data/lib/generators/templates/deploy.rb +0 -82
- data/lib/generators/templates/unicorn.rb +0 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e59e18d87dd2a20edd0b3196d9929839b7f5b7b
|
4
|
+
data.tar.gz: b369c07c0a608fd042ef40b0d55fbd0115ef3d4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7703368ccb58471d9f86ba1444d51ed8d6d8a15c72edf6ccf3515ede5b47fcac4eff51efb658f23d448f783c035eba3017511a5406ae54723e1c26fe812e5cb2
|
7
|
+
data.tar.gz: 5b9961fecdba9f8b800b7e26649c06a78c1e55b1af077f261ffc7fc5958be5f85c7d28266d1770f086aad1ed63ca7d2e94c56cd8c6af92e9ce44bbca4d9d848f
|
data/.gitignore
CHANGED
data/bin/inline_forms
CHANGED
@@ -48,6 +48,7 @@ gem_group :development do
|
|
48
48
|
gem 'capistrano-rails', '~> 1.3', require: false
|
49
49
|
gem 'capistrano-bundler', '~> 1.3', require: false
|
50
50
|
gem 'capistrano-rvm', require: false
|
51
|
+
gem "capistrano3-unicorn"
|
51
52
|
end
|
52
53
|
|
53
54
|
say "- Running bundle..."
|
@@ -69,18 +70,17 @@ else
|
|
69
70
|
create_file "config/database.yml", <<-END_DATABASEYML.strip_heredoc
|
70
71
|
development:
|
71
72
|
adapter: mysql2
|
72
|
-
database:
|
73
|
-
username:
|
74
|
-
password:
|
75
|
-
|
73
|
+
database: <%= ENV["DATABASE_NAME"] %>
|
74
|
+
username: <%= ENV["DATABASE_USER"] %>
|
75
|
+
password: <%= ENV["DATABASE_PASSWORD"] %>
|
76
76
|
END_DATABASEYML
|
77
77
|
end
|
78
78
|
append_file "config/database.yml", <<-END_DATABASEYML.strip_heredoc
|
79
79
|
production:
|
80
80
|
adapter: mysql2
|
81
|
-
database:
|
82
|
-
username:
|
83
|
-
password:
|
81
|
+
database: <%= ENV["DATABASE_NAME"] %>
|
82
|
+
username: <%= ENV["DATABASE_USER"] %>
|
83
|
+
password: <%= ENV["DATABASE_PASSWORD"] %>
|
84
84
|
END_DATABASEYML
|
85
85
|
|
86
86
|
say "- Devise install..."
|
@@ -158,7 +158,7 @@ USERS_CONTROLLER
|
|
158
158
|
|
159
159
|
say "- Create User Model..."
|
160
160
|
create_file "app/models/user.rb", <<-USER_MODEL.strip_heredoc
|
161
|
-
class User <
|
161
|
+
class User < ApplicationRecord
|
162
162
|
|
163
163
|
# devise options
|
164
164
|
devise :database_authenticatable
|
@@ -535,12 +535,16 @@ DEVISE_MAILER_STUFF
|
|
535
535
|
# capify
|
536
536
|
say "- Capify..."
|
537
537
|
run 'bundle exec cap install'
|
538
|
-
|
539
|
-
|
538
|
+
remove_file "config/deploy.rb" # remove the file capify created!
|
539
|
+
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/capistrano/deploy.rb'), "config/deploy.rb"
|
540
|
+
remove_file "config/deploy/production.rb" # remove the production file capify created!
|
541
|
+
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/capistrano/production.rb'), "config/deploy/production.rb"
|
542
|
+
remove_file "Capfile" # remove the Capfile file capify created!
|
543
|
+
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/capistrano/Capfile'), "Capfile"
|
540
544
|
|
541
545
|
# Unicorn
|
542
546
|
say "- Unicorn Config..."
|
543
|
-
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/unicorn.rb'), "config/unicorn.rb"
|
547
|
+
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/unicorn/production.rb'), "config/unicorn/production.rb"
|
544
548
|
|
545
549
|
|
546
550
|
# Git
|
@@ -556,14 +560,15 @@ GITIGNORE
|
|
556
560
|
|
557
561
|
say "- Installing Figaro..."
|
558
562
|
run 'bundle exec figaro install'
|
563
|
+
remove_file "config/application.yml"
|
559
564
|
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/application.yml.blank'), "config/application.yml"
|
560
565
|
copy_file File.join(GENERATOR_PATH,'lib/generators/templates/application.yml.blank'), "config/application.yml.blank"
|
561
566
|
|
562
567
|
say "- Installing config/secrets.yml..."
|
563
568
|
remove_file "config/secrets.yml"
|
564
|
-
create_file "config/secrets.yml", <<-END_SECRETS_YML.strip_heredoc
|
569
|
+
create_file "config/secrets.yml", <<-END_SECRETS_YML.strip_heredoc
|
565
570
|
development:
|
566
|
-
secret_key_base:
|
571
|
+
secret_key_base: #{SecureRandom.hex(64)}
|
567
572
|
|
568
573
|
test:
|
569
574
|
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
@@ -605,6 +610,7 @@ if ENV['install_example'] == 'true'
|
|
605
610
|
else
|
606
611
|
# run tests
|
607
612
|
run "rspec" if ENV['runtest']
|
613
|
+
say "- Don't forget: add your secret key base in config/application.yml \n"
|
608
614
|
end
|
609
615
|
# done!
|
610
616
|
say "\nDone! Now make your tables with 'bundle exec rails g inline_forms ...", :yellow
|
data/lib/generators/USAGE
CHANGED
@@ -43,7 +43,7 @@ module InlineForms
|
|
43
43
|
def attribute_type
|
44
44
|
SPECIAL_COLUMN_TYPES.merge(RELATIONS).has_key?(type) ? type : DEFAULT_FORM_ELEMENTS[type] || :unknown
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
def special_relation?
|
48
48
|
SPECIAL_RELATIONS.has_key?(type)
|
49
49
|
end
|
@@ -73,7 +73,7 @@ module InlineForms
|
|
73
73
|
argument :attributes, :type => :array, :banner => "[name:form_element]..."
|
74
74
|
|
75
75
|
source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
76
|
-
|
76
|
+
|
77
77
|
# using flags.
|
78
78
|
def set_some_flags
|
79
79
|
@flag_not_accessible_through_html = true
|
@@ -107,7 +107,7 @@ module InlineForms
|
|
107
107
|
@inline_forms_attribute_list = String.new
|
108
108
|
|
109
109
|
for attribute in attributes
|
110
|
-
if attribute.column_type == :belongs_to
|
110
|
+
if attribute.column_type == :belongs_to
|
111
111
|
## :drop_down, :references and :belongs_to all end up with the column_type :belongs_to
|
112
112
|
@belongs_to << ' belongs_to :' + attribute.name + "\n"
|
113
113
|
end
|
@@ -175,7 +175,7 @@ module InlineForms
|
|
175
175
|
end
|
176
176
|
ROUTE
|
177
177
|
end
|
178
|
-
end
|
178
|
+
end
|
179
179
|
|
180
180
|
def generate_migration
|
181
181
|
if @flag_create_migration
|
@@ -199,6 +199,7 @@ module InlineForms
|
|
199
199
|
end
|
200
200
|
end
|
201
201
|
end
|
202
|
+
@primary_key_option = @create_id ? '' : ', id: false'
|
202
203
|
template "migration.erb", "db/migrate/#{time_stamp}_inline_forms_create_#{table_name}.rb"
|
203
204
|
end
|
204
205
|
end
|
@@ -214,14 +215,14 @@ module InlineForms
|
|
214
215
|
:after => "ActionView::CompiledTemplates::MODEL_TABS = %w("
|
215
216
|
end
|
216
217
|
end
|
217
|
-
|
218
|
+
|
218
219
|
def generate_test
|
219
220
|
template "test.erb", "test/unit/#{test_file_name}.rb"
|
220
221
|
end
|
221
222
|
|
222
223
|
def generate_controller
|
223
224
|
template "controller.erb", "app/controllers/#{controller_file_name}.rb" if @flag_create_controller
|
224
|
-
end
|
225
|
+
end
|
225
226
|
|
226
227
|
|
227
228
|
private
|
@@ -240,11 +241,11 @@ module InlineForms
|
|
240
241
|
def controller_file_name
|
241
242
|
controller_name.underscore
|
242
243
|
end
|
243
|
-
|
244
|
+
|
244
245
|
def test_name
|
245
246
|
name + 'Test'
|
246
247
|
end
|
247
|
-
|
248
|
+
|
248
249
|
def test_file_name
|
249
250
|
test_name.underscore
|
250
251
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Load ENV vars via Figaro
|
2
|
+
require 'figaro'
|
3
|
+
Figaro.application = Figaro::Application.new(environment: 'production', path: File.expand_path('../config/application.yml', __FILE__))
|
4
|
+
Figaro.load
|
5
|
+
|
6
|
+
# Load DSL and set up stages
|
7
|
+
require "capistrano/setup"
|
8
|
+
|
9
|
+
# Include default deployment tasks
|
10
|
+
require "capistrano/deploy"
|
11
|
+
|
12
|
+
# Load the SCM plugin appropriate to your project:
|
13
|
+
#
|
14
|
+
# require "capistrano/scm/hg"
|
15
|
+
# install_plugin Capistrano::SCM::Hg
|
16
|
+
# or
|
17
|
+
# require "capistrano/scm/svn"
|
18
|
+
# install_plugin Capistrano::SCM::Svn
|
19
|
+
# or
|
20
|
+
require "capistrano/scm/git"
|
21
|
+
install_plugin Capistrano::SCM::Git
|
22
|
+
|
23
|
+
# Include tasks from other gems included in your Gemfile
|
24
|
+
#
|
25
|
+
# For documentation on these, see for example:
|
26
|
+
#
|
27
|
+
# https://github.com/capistrano/rvm
|
28
|
+
# https://github.com/capistrano/rbenv
|
29
|
+
# https://github.com/capistrano/chruby
|
30
|
+
# https://github.com/capistrano/bundler
|
31
|
+
# https://github.com/capistrano/rails
|
32
|
+
# https://github.com/capistrano/passenger
|
33
|
+
#
|
34
|
+
require "capistrano/rvm"
|
35
|
+
# require "capistrano/rbenv"
|
36
|
+
# require "capistrano/chruby"
|
37
|
+
require "capistrano/bundler"
|
38
|
+
require "capistrano/rails/assets"
|
39
|
+
require "capistrano/rails/migrations"
|
40
|
+
# require "capistrano/passenger"
|
41
|
+
require "capistrano3/unicorn"
|
42
|
+
|
43
|
+
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
44
|
+
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
|
@@ -0,0 +1,39 @@
|
|
1
|
+
set :application, ENV['DEPLOY_APPLICATION']
|
2
|
+
set :repo_url, ENV['DEPLOY_REPO_URL']
|
3
|
+
set :bundle_binstubs, nil
|
4
|
+
|
5
|
+
# Default deploy_to directory is /var/www/my_app_name
|
6
|
+
set :deploy_to, ENV['DEPLOY_DIRECTORY']
|
7
|
+
|
8
|
+
# Default value for :linked_files is []
|
9
|
+
set :linked_files, fetch(:linked_files, [])
|
10
|
+
.push("config/database.yml", "config/secrets.yml", "config/application.yml")
|
11
|
+
# Default value for linked_dirs is []
|
12
|
+
set :linked_dirs, fetch(:linked_dirs, [])
|
13
|
+
.push("log", "tmp/pids", "tmp/cache", "tmp/sockets", "public/system", "vendor/bundle")
|
14
|
+
|
15
|
+
# Default value for keep_releases is 5
|
16
|
+
set :keep_releases, 5
|
17
|
+
|
18
|
+
before 'deploy:check', 'figaro:upload'
|
19
|
+
after "deploy:publishing", "deploy:restart"
|
20
|
+
|
21
|
+
# Restart unicorn
|
22
|
+
namespace :deploy do
|
23
|
+
task :restart do
|
24
|
+
invoke "unicorn:restart"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# Uploads secrets.yml, database.yml and application.yml files
|
29
|
+
namespace :figaro do
|
30
|
+
task :upload do
|
31
|
+
on roles(:all) do
|
32
|
+
execute "mkdir -p #{shared_path}/config"
|
33
|
+
|
34
|
+
upload! 'config/secrets.yml', "#{shared_path}/config/secrets.yml"
|
35
|
+
upload! 'config/database.yml', "#{shared_path}/config/database.yml"
|
36
|
+
upload! 'config/application.yml', "#{shared_path}/config/application.yml"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
class InlineFormsCreate<%= table_name.camelize %> < ActiveRecord::Migration
|
1
|
+
class InlineFormsCreate<%= table_name.camelize %> < ActiveRecord::Migration[5.0]
|
2
2
|
|
3
3
|
def self.up
|
4
|
-
|
5
|
-
create_table :<%= table_name %> do |t|
|
4
|
+
create_table :<%= table_name + @primary_key_option %> do |t|
|
6
5
|
<%= @columns -%>
|
7
6
|
t.timestamps
|
8
7
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Load ENV vars via Figaro
|
2
|
+
require 'figaro'
|
3
|
+
Figaro.application = Figaro::Application.new(environment: 'production', path: File.expand_path('../../../config/application.yml', __FILE__))
|
4
|
+
Figaro.load
|
5
|
+
|
6
|
+
app_path = "#{ENV['DEPLOY_DIRECTORY']}/current"
|
7
|
+
working_directory app_path
|
8
|
+
|
9
|
+
pid "#{app_path}/tmp/pids/unicorn.pid"
|
10
|
+
|
11
|
+
stderr_path "#{app_path}/log/unicorn.err.log"
|
12
|
+
stdout_path "#{app_path}/log/unicorn.out.log"
|
13
|
+
|
14
|
+
worker_processes 3
|
15
|
+
timeout 30
|
16
|
+
preload_app true
|
17
|
+
|
18
|
+
listen "#{app_path}/tmp/sockets/unicorn.sock", backlog: 64
|
19
|
+
|
20
|
+
before_exec do |_|
|
21
|
+
ENV["BUNDLE_GEMFILE"] = File.join(app_path, "Gemfile")
|
22
|
+
end
|
23
|
+
|
24
|
+
before_fork do |server, worker|
|
25
|
+
defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
|
26
|
+
|
27
|
+
old_pid = "#{app_path}/tmp/pids/unicorn.pid.oldbin"
|
28
|
+
|
29
|
+
if File.exists?(old_pid) && server.pid != old_pid
|
30
|
+
begin
|
31
|
+
Process.kill("QUIT", File.read(old_pid).to_i)
|
32
|
+
rescue Errno::ENOENT, Errno::ESRCH
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
after_fork do |server, worker|
|
38
|
+
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
|
39
|
+
end
|
data/lib/inline_forms.rb
CHANGED
@@ -49,7 +49,7 @@ module InlineForms
|
|
49
49
|
# rails g inline_forms Example name:string price:integer
|
50
50
|
# will result in the following model:
|
51
51
|
#
|
52
|
-
# class Example <
|
52
|
+
# class Example < ApplicationRecord
|
53
53
|
# def inline_forms_attribute_list
|
54
54
|
# {
|
55
55
|
# :name => [ "name", :text_field ],
|
@@ -91,7 +91,7 @@ module InlineForms
|
|
91
91
|
SPECIAL_COLUMN_TYPES = {
|
92
92
|
:associated => :no_migration
|
93
93
|
}
|
94
|
-
|
94
|
+
|
95
95
|
# RELATIONS defines a mapping between AR::Migrations columns and the Model.
|
96
96
|
#
|
97
97
|
# When a column has the type of :references or :belongs_to, then
|
data/lib/inline_forms/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inline_forms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ace Suares
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-11-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rvm
|
@@ -256,12 +256,14 @@ files:
|
|
256
256
|
- lib/generators/templates/_inline_forms_tabs.html.erb
|
257
257
|
- lib/generators/templates/abstract_mysql2_adapter.rb
|
258
258
|
- lib/generators/templates/application.yml.blank
|
259
|
+
- lib/generators/templates/capistrano/Capfile
|
260
|
+
- lib/generators/templates/capistrano/deploy.rb
|
261
|
+
- lib/generators/templates/capistrano/production.rb
|
259
262
|
- lib/generators/templates/controller.erb
|
260
|
-
- lib/generators/templates/deploy.rb
|
261
263
|
- lib/generators/templates/migration.erb
|
262
264
|
- lib/generators/templates/model.erb
|
263
265
|
- lib/generators/templates/test.erb
|
264
|
-
- lib/generators/templates/unicorn.rb
|
266
|
+
- lib/generators/templates/unicorn/production.rb
|
265
267
|
- lib/inline_forms.rb
|
266
268
|
- lib/inline_forms/version.rb
|
267
269
|
- lib/locales/inline_forms.en.yml
|
@@ -1,82 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
require "bundler/capistrano"
|
4
|
-
require "rvm/capistrano"
|
5
|
-
|
6
|
-
load 'deploy/assets'
|
7
|
-
|
8
|
-
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
|
9
|
-
set :rvm_install_ruby_params, '--1.9' # for jruby/rbx default to 1.9 mode https://github.com/wayneeseguin/rvm-capistrano/commit/663252851a9d6294439a9b501cebe66f8c3150f7
|
10
|
-
|
11
|
-
set :application, "YOUR_APPLICATION_NAME"
|
12
|
-
set :domain, "YOUR_HOST_NAME"
|
13
|
-
set :user, "YOUR_USERNAME_ON_THE_HOST"
|
14
|
-
|
15
|
-
set :bundle_flags, "--deployment"
|
16
|
-
|
17
|
-
set :use_sudo, false
|
18
|
-
|
19
|
-
set :deploy_to, "/var/www/ror/#{application}"
|
20
|
-
|
21
|
-
set :repository, "file:///home/#{user}/git-repos/#{application}.git"
|
22
|
-
set :local_repository, "ssh://#{user}@#{domain}/home/#{user}/git-repos/#{application}.git"
|
23
|
-
set :scm, "git"
|
24
|
-
|
25
|
-
|
26
|
-
role :app, domain
|
27
|
-
role :web, domain
|
28
|
-
role :db, domain, :primary => true
|
29
|
-
|
30
|
-
before :deploy do
|
31
|
-
system "bundle install"
|
32
|
-
system "git commit -a"
|
33
|
-
system "git push"
|
34
|
-
end
|
35
|
-
|
36
|
-
before 'deploy:setup', 'rvm:install_rvm'
|
37
|
-
before 'deploy:setup', 'rvm:install_ruby'
|
38
|
-
before "deploy:assets:precompile", "deploy:fix_stuff"
|
39
|
-
|
40
|
-
|
41
|
-
namespace :deploy do
|
42
|
-
desc "Zero-downtime restart of Unicorn"
|
43
|
-
task :zero_restart, :except => { :no_release => true } do
|
44
|
-
run "kill -s USR2 `cat #{shared_path}/pids/unicorn.pid`"
|
45
|
-
end
|
46
|
-
|
47
|
-
desc "Downtime restart of Unicorn"
|
48
|
-
task :restart, :except => { :no_release => true } do
|
49
|
-
run "kill -s KILL `cat #{shared_path}/pids/unicorn.pid`"
|
50
|
-
sleep 10
|
51
|
-
run "rvm rvmrc trust #{current_release}"
|
52
|
-
run "cd #{current_path} ; bundle exec r200_unicorn -c #{current_path}/config/unicorn.rb -D -E production"
|
53
|
-
end
|
54
|
-
|
55
|
-
|
56
|
-
desc "Start unicorn"
|
57
|
-
task :start, :except => { :no_release => true } do
|
58
|
-
run "rvm rvmrc trust #{current_release}"
|
59
|
-
run "cd #{current_path} ; bundle exec r200_unicorn -c #{current_path}/config/unicorn.rb -D -E production"
|
60
|
-
end
|
61
|
-
|
62
|
-
desc "Stop unicorn"
|
63
|
-
task :stop, :except => { :no_release => true } do
|
64
|
-
run "kill -s QUIT `cat #{shared_path}/pids/unicorn.pid`"
|
65
|
-
end
|
66
|
-
|
67
|
-
desc "Kill unicorn"
|
68
|
-
task :kill, :except => { :no_release => true } do
|
69
|
-
run "kill -s KILL `cat #{shared_path}/pids/unicorn.pid`"
|
70
|
-
end
|
71
|
-
|
72
|
-
desc "Fix Stuff."
|
73
|
-
task :fix_stuff do
|
74
|
-
run "cd #{shared_path} && mkdir -p log"
|
75
|
-
run "cd #{shared_path} && mkdir -p sockets"
|
76
|
-
run "ln -s #{shared_path}/sockets #{release_path}/tmp/sockets"
|
77
|
-
run "cd #{shared_path} && mkdir -p uploads"
|
78
|
-
run "ln -s #{shared_path}/uploads #{release_path}/public/uploads"
|
79
|
-
end
|
80
|
-
|
81
|
-
|
82
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
APP_ROOT = File.expand_path(File.dirname(File.dirname(__FILE__)))
|
2
|
-
|
3
|
-
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
|
4
|
-
begin
|
5
|
-
#rvm_path = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
|
6
|
-
#rvm_lib_path = File.join(rvm_path, 'lib')
|
7
|
-
#$LOAD_PATH.unshift rvm_lib_path
|
8
|
-
require 'rvm'
|
9
|
-
RVM.use_from_path! APP_ROOT
|
10
|
-
rescue LoadError
|
11
|
-
raise "RVM ruby lib is currently unavailable."
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
|
16
|
-
require 'bundler/setup'
|
17
|
-
|
18
|
-
worker_processes 4
|
19
|
-
working_directory APP_ROOT
|
20
|
-
|
21
|
-
preload_app true
|
22
|
-
|
23
|
-
timeout 30
|
24
|
-
|
25
|
-
listen APP_ROOT + "/tmp/sockets/unicorn.sock", :backlog => 64
|
26
|
-
|
27
|
-
pid APP_ROOT + "/tmp/pids/unicorn.pid"
|
28
|
-
|
29
|
-
stderr_path APP_ROOT + "/log/unicorn.stderr.log"
|
30
|
-
stdout_path APP_ROOT + "/log/unicorn.stdout.log"
|
31
|
-
|
32
|
-
before_fork do |server, worker|
|
33
|
-
defined?(ActiveRecord::Base) && ActiveRecord::Base.connection.disconnect!
|
34
|
-
|
35
|
-
old_pid = Rails.root + '/tmp/pids/unicorn.pid.oldbin'
|
36
|
-
if File.exists?(old_pid) && server.pid != old_pid
|
37
|
-
begin
|
38
|
-
Process.kill("QUIT", File.read(old_pid).to_i)
|
39
|
-
rescue Errno::ENOENT, Errno::ESRCH
|
40
|
-
puts "Old master alerady dead"
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
after_fork do |server, worker|
|
46
|
-
defined?(ActiveRecord::Base) && ActiveRecord::Base.establish_connection
|
47
|
-
end
|