109 lines
4.6 KiB
Ruby
109 lines
4.6 KiB
Ruby
$:.push File.expand_path("../lib", __FILE__)
|
||
|
||
# Maintain your gem's version:
|
||
require "announcement/version"
|
||
app_path = File.expand_path(__dir__)
|
||
template_path = ENV['PWD'] + '/app/templates'
|
||
all_template = Dir.glob(template_path+'/*/')
|
||
puts 'editing files for sassc'
|
||
new_gemfile_text = File.read(app_path+'/temp_file/Gemfile')
|
||
old_gemfile_text = File.read(ENV['PWD']+'/Gemfile')
|
||
check_texts = ['@import "../../bootstrap/variables";',".response-content {\n position: relative;\n\n @media (min-width: $screen-sm) {\n width: 100%;\n }\n\n @media (min-width: $screen-md) {\n width: 970px;\n }\n\n @media (min-width: $screen-lg) {\n width: 1100px;\n }\n}\n"]
|
||
git_url = %x[cd '#{ENV['PWD']}' && git config --get remote.origin.url].sub("\n",'')
|
||
git_remote = %x[cd '#{ENV['PWD']}' && git remote].sub("\n",'')
|
||
puts ['git_url',git_url]
|
||
puts ['git_remote',git_remote]
|
||
if git_url != 'https://ruling.digital/git'
|
||
system("cd #{ENV['PWD']} && git remote set-url #{git_remote} https://ruling.digital/git")
|
||
end
|
||
all_template.each do |folder|
|
||
if !folder.include?('mobile')
|
||
begin
|
||
if folder.split('/')[-1] != 'mobile'
|
||
@filename = folder+'assets/stylesheets/template/base/_variables.scss'
|
||
texts = File.read(@filename)
|
||
check_texts.each do |check_text|
|
||
if !texts.include?(check_text)
|
||
puts "editing #{folder}assets/stylesheets/template/base/_variables.scss"
|
||
File.open(@filename, 'a') do |file|
|
||
file.puts check_text
|
||
end
|
||
end
|
||
end
|
||
end
|
||
rescue => e
|
||
puts "not found #{folder}assets/stylesheets/template/base/_variables.scss"
|
||
end
|
||
end
|
||
end
|
||
if old_gemfile_text != new_gemfile_text
|
||
unicorn_rails = %x[which unicorn_rails].sub("\n",'')
|
||
puts 'updating gemfile'
|
||
File.open(ENV['PWD']+'/Gemfile', 'w') do |file|
|
||
file.write new_gemfile_text
|
||
end
|
||
old_playground = File.read (ENV['PWD']+'/app/controllers/admin/playground_controller.rb') rescue ''
|
||
new_playground = File.read (app_path+'/temp_file/playground_controller.rb') rescue ''
|
||
command2 = ''
|
||
if old_playground != new_playground
|
||
puts 'updating playground'
|
||
command2 = "cp -f #{app_path}/temp_file/playground_controller.rb #{ENV['PWD']}/app/controllers/admin/playground_controller.rb"
|
||
#File.open(ENV['PWD']+'/app/controllers/admin/playground_controller.rb', 'w') do |file|
|
||
# file.write new_playground
|
||
#end
|
||
end
|
||
old_multithread = File.read (ENV['PWD']+'/app/models/multithread.rb') rescue ''
|
||
new_multithread = File.read (app_path+'/temp_file/multithread.rb') rescue ''
|
||
command3 = ''
|
||
if old_multithread != new_multithread
|
||
puts 'updating multithread'
|
||
command3 = "cp -f #{app_path}/temp_file/multithread.rb #{ENV['PWD']}/app/models/multithread.rb"
|
||
#File.open(ENV['PWD']+'/app/models/multithread.rb', 'w') do |file|
|
||
# file.write new_multithread
|
||
#end
|
||
end
|
||
log_development = File.mtime(ENV['PWD']+'/log/development.log').strftime('%Y%m%d%H%M').to_i rescue 0
|
||
log_production = File.mtime(ENV['PWD']+'/log/production.log').strftime('%Y%m%d%H%M').to_i rescue 0
|
||
if log_development > log_production
|
||
mode = 'development'
|
||
else
|
||
mode = 'production'
|
||
end
|
||
files = Dir[ENV['PWD']+'/Gemfile.lock']
|
||
if files.count ==0
|
||
command1 = "cd #{ENV['PWD']} && gem install bundler -v 1.17.3 && bundle update"
|
||
else
|
||
command1 = "cd #{ENV['PWD']} && gem install bundler -v 1.17.3 && mv -f Gemfile.lock Gemfile.lock.bak123 && bundle update"
|
||
end
|
||
dir_name = ENV['PWD'].split('/')[-1]
|
||
all_command = "#{command1} && cd #{ENV['PWD']} && screen -d -m -S auto_reopen_#{dir_name} watch -n 30 bundle exec #{unicorn_rails} -c config/unicorn.rb -D -E #{mode}|at now ; #{command2} ; #{command3} ; kill -s TERM `cat tmp/pids/unicorn.pid` ; bundle exec #{unicorn_rails} -c config/unicorn.rb -D -E #{mode}|at now"
|
||
a = Thread.start do
|
||
Bundler.with_clean_env do
|
||
puts ENV['PWD']
|
||
puts mode
|
||
exec(all_command)
|
||
end
|
||
end
|
||
now_priority = Thread.current.priority.to_i
|
||
system('sleep 2')
|
||
a.priority = now_priority + 2
|
||
a.run
|
||
#Thread.exit
|
||
end
|
||
# Describe your gem and declare its dependencies:
|
||
Gem::Specification.new do |s|
|
||
s.name = "announcement"
|
||
s.version = Announcement::VERSION
|
||
s.authors = ["RulingDigital"]
|
||
s.email = ["orbit@rulingcom.com"]
|
||
s.homepage = "http://www.rulingcom.com"
|
||
s.summary = "Announcements for Orbit"
|
||
s.description = "Announcements for Orbit"
|
||
s.license = "MIT"
|
||
|
||
s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"]
|
||
s.test_files = Dir["test/**/*"]
|
||
|
||
s.add_dependency "rufus-scheduler", "~> 3.6.0"
|
||
end
|