class Decision
Public Instance Methods
decide(option, base, relative, type)
click to toggle source
# File src/monitor/monitor.rb, line 9 def decide(option, base, relative, type) rap_file = base + '/' + relative rap_dir = path_without_ext(rap_file, base) if option == :create clean_rap(rap_dir, rap_file, base) if rap_already_deployed?(rap_dir) deploy_rap(rap_file, rap_dir, base) end end
initial(webapps_dir)
click to toggle source
# File src/monitor/monitor.rb, line 18 def initial(webapps_dir) Dir.entries(webapps_dir).each do |entry| if entry.match(/.rap$/) decide(:create, webapps_dir, entry, 'file') end end `cd #{webapps_dir}/thundercat; ./start.sh` end
standalone_decide(option, base, relative, type)
click to toggle source
# File src/monitor/standalone.rb, line 9 def standalone_decide(option, base, relative, type) zip_file = base + '/' + relative zip_dir = path_without_ext(zip_file, base) if option == :create clean_standalone(zip_dir, zip_file, base) if zip_already_deployed?(zip_dir) deploy_standalone(zip_file, zip_dir, base) end end
standalone_initial(standalone_dir)
click to toggle source
# File src/monitor/standalone.rb, line 18 def standalone_initial(standalone_dir) Dir.entries(standalone_dir).each do |entry| if entry.match(/.zip$/) decide(:create, standalone_dir, entry, 'file') end end end
Private Instance Methods
archive_existing_app(rap_dir, rap_file, base)
click to toggle source
# File src/monitor/monitor.rb, line 67 def archive_existing_app(rap_dir, rap_file, base) FileUtils.mv(rap_dir, "#{base}/../archive/#{file_without_ext(rap_file)}.#{Time.now.to_i}") end
archive_existing_standalone(zip_dir, zip_file, base)
click to toggle source
# File src/monitor/standalone.rb, line 34 def archive_existing_standalone(zip_dir, zip_file, base) FileUtils.mv(zip_dir, "#{base}/../standalone_archive/#{file_without_ext(zip_file)}.#{Time.now.to_i}") end
archive_rap(rap_file, base)
click to toggle source
# File src/monitor/monitor.rb, line 71 def archive_rap(rap_file, base) FileUtils.mv(rap_file, "#{base}/../archive/#{file_without_ext(rap_file)}.#{Time.now.to_i}.rap") puts "[ThunderCat] archived rap file: #{rap_file}" end
archive_zip(zip_file, base)
click to toggle source
# File src/monitor/standalone.rb, line 38 def archive_zip(zip_file, base) FileUtils.mv(zip_file, "#{base}/../standalone_archive/#{file_without_ext(zip_file)}.#{Time.now.to_i}.zip") puts "[ThunderCat] archived standalone zip file: #{zip_file}" end
clean_rap(rap_dir, rap_file, base)
click to toggle source
# File src/monitor/monitor.rb, line 80 def clean_rap(rap_dir, rap_file, base) stop_app(rap_dir) archive_existing_app(rap_dir, rap_file, base) end
clean_standalone(zip_dir, zip_file, base)
click to toggle source
# File src/monitor/standalone.rb, line 47 def clean_standalone(zip_dir, zip_file, base) archive_existing_standalone(zip_dir, zip_file, base) end
deploy_rap(rap_file, rap_dir, base)
click to toggle source
# File src/monitor/monitor.rb, line 29 def deploy_rap(rap_file, rap_dir, base) Rappa.new(:input_archive => rap_file, :output_archive => base).expand rap_config = rap_dir + '/rap.yml' if File.exists?(rap_config) rap = YAML.load_file(rap_config) start_script = rap[:start_script] stop_script = rap[:stop_script] bootstrap_script = rap[:bootstrap] p "1. found boostrap script: #{bootstrap_script}" `cd #{rap_dir} ; chmod +x #{start_script}` `cd #{rap_dir} ; chmod +x #{stop_script}` if !bootstrap_script.nil? p "2. found boostrap script: #{bootstrap_script}" `cd #{rap_dir} ; chmod +x #{bootstrap_script}` puts "[Thundercat] executing boostrap: #{bootstrap_script}" puts `cd #{rap_dir} ; ./#{bootstrap_script}` end `cd #{rap_dir} ; ./#{start_script}` puts "[ThunderCat] Successfully deployed and started app at: #{rap_file}" archive_rap(rap_file, base) else puts '[ThunderCat] no rap file found so could not start app' end end
deploy_standalone(zip_file, zip_dir, base)
click to toggle source
# File src/monitor/standalone.rb, line 28 def deploy_standalone(zip_file, zip_dir, base) Rappa.new(:input_archive => zip_file, :output_archive => base).standalone_expand puts "[ThunderCat] Successfully deployed standalone zip archive at: #{zip_file}" archive_zip(zip_file, base) end
file_without_ext(file)
click to toggle source
# File src/monitor/monitor.rb, line 90 def file_without_ext(file) base_name = File.basename(file) base_name.chomp(File.extname(base_name)) end
path_without_ext(file, base)
click to toggle source
# File src/monitor/monitor.rb, line 85 def path_without_ext(file, base) base_name = File.basename(file) base + '/' + base_name.chomp(File.extname(base_name)) end
rap_already_deployed?(rap_dir)
click to toggle source
# File src/monitor/monitor.rb, line 76 def rap_already_deployed?(rap_dir) File.exists?(rap_dir) end
stop_app(rap_dir)
click to toggle source
# File src/monitor/monitor.rb, line 55 def stop_app(rap_dir) rap_file = rap_dir + '/rap.yml' if File.exists?(rap_file) rap = YAML.load_file(rap_file) stop_script = rap[:stop_script] `cd #{rap_dir} ; chmod +x #{stop_script}` `cd #{rap_dir} ; ./#{stop_script}` else puts '[ThunderCat] no rap file found so could not stop app' end end
zip_already_deployed?(rap_dir)
click to toggle source
# File src/monitor/standalone.rb, line 43 def zip_already_deployed?(rap_dir) File.exists?(rap_dir) end