announcement-test/announcement.gemspec

109 lines
4.6 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$:.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