91 lines
3.3 KiB
Ruby
91 lines
3.3 KiB
Ruby
$:.push File.expand_path("../lib", __FILE__)
|
|
|
|
# Maintain your gem's version:
|
|
require "ad_banner/version"
|
|
bundle_update_flag = ARGV[0]=='update' || ARGV[0]=='install'
|
|
if bundle_update_flag
|
|
env_pwd = ENV['PWD']
|
|
begin
|
|
require ::File.expand_path('app/helpers/bundler_helper.rb', env_pwd)
|
|
extend BundlerHelper
|
|
rescue LoadError
|
|
def bundler_with_clean_env(&block)
|
|
if block_given?
|
|
if Bundler.respond_to?(:with_unbundled_env)
|
|
Bundler.with_unbundled_env(&block)
|
|
else
|
|
Bundler.with_clean_env(&block)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
require "fileutils"
|
|
app_path = File.expand_path(__dir__)
|
|
template_path = ENV['PWD'] + '/app/templates'
|
|
all_template = Dir.glob(template_path+'/*/')
|
|
puts 'copying module'
|
|
all_template.each do |folder|
|
|
if folder.split('/')[-1] != 'mobile'
|
|
begin
|
|
system ('cp -r '+ app_path + '/modules/ ' + folder)
|
|
rescue
|
|
puts 'error copy'
|
|
end
|
|
end
|
|
end
|
|
if Dir.exist?(ENV['PWD'] + "/public/uploads/ad_image")
|
|
puts "Fixing video blocked by ad block..."
|
|
begin
|
|
system ("mv #{ENV['PWD']}/public/uploads/ad_image #{ENV['PWD']}/public/uploads/banner_image")
|
|
rescue
|
|
puts 'error moving'
|
|
end
|
|
puts "Finish fixing!"
|
|
end
|
|
#download ffmpeg
|
|
begin
|
|
destination = ENV['PWD']+'/tmp/ffmpeg'
|
|
if Dir[destination].length==0
|
|
FileUtils.mkdir_p("#{ENV['PWD']}/tmp")
|
|
require 'open-uri'
|
|
if RUBY_VERSION.to_f >= 2.7
|
|
download = URI.open('https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.2/ffmpeg-4.2-linux-64.zip',:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE)
|
|
else
|
|
download = open('https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.2/ffmpeg-4.2-linux-64.zip',:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE)
|
|
end
|
|
save_zip_name = "#{ENV['PWD']}/tmp/ffmpeg-4.2-linux-64.zip"
|
|
IO.copy_stream(download, save_zip_name)
|
|
begin
|
|
require 'zip'
|
|
rescue LoadError
|
|
bundler_with_clean_env{system("gem install zip-zip")}
|
|
end
|
|
FileUtils.mkdir_p(destination)
|
|
Zip::File.open(save_zip_name) do |zip_file|
|
|
zip_file.each do |f|
|
|
fpath = File.join(destination, f.name)
|
|
zip_file.extract(f, fpath) unless File.exist?(fpath)
|
|
end
|
|
end
|
|
end
|
|
rescue => e
|
|
FileUtils.rmdir(destination) rescue nil
|
|
puts ["download ffmpeg failed",e]
|
|
end
|
|
end
|
|
#./ffmpeg -i 2.mp4 -c:v libvpx-vp9 -crf 35 -b:v 0 -b:a 96k -c:a libopus -filter:v fps=20 output.webm -cpu-used 4
|
|
# Describe your gem and declare its dependencies:
|
|
Gem::Specification.new do |s|
|
|
s.name = "ad_banner"
|
|
s.version = AdBanner::VERSION
|
|
s.authors = ["Ruling Digital"]
|
|
s.email = ["orbit@rulingcom.com"]
|
|
s.homepage = "http://www.rulingcom.com"
|
|
s.summary = "Ad Banner management"
|
|
s.description = "Create Banners for Orbit"
|
|
s.license = "MIT"
|
|
|
|
s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"]
|
|
s.test_files = Dir["test/**/*"]
|
|
end
|