class Object
Public Instance Methods
add_user(u)
click to toggle source
# File lib/mina/extras/ubuntu.rb, line 8 def add_user(u) invoke :sudo command "adduser #{u}" end
append_template(source, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 48 def append_template(source, destination) desc = File.basename(destination) if source =~ /erb$/ contents = parse_template(source) else contents = File.read(source) end extra_echo("Put #{desc} file to #{destination}") script = <<EOF script=$(cat <<'EOFF' #{contents} EOFF ) EOF command %{#{script}} command %{echo "$script" >> #{destination}} command check_exists(destination) end
apt_get(package)
click to toggle source
# File lib/mina/extras/apt.rb, line 3 def apt_get(package) command "sudo apt-get install #{package} -y" end
brew_install(package)
click to toggle source
# File lib/mina/extras/brew.rb, line 1 def brew_install(package) command "sudo brew install #{package} -y" end
check_exec_and_ownership(u, g, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 148 def check_exec_and_ownership(u, g, destination) %{ file_info=(`ls -l #{destination}`) if [[ -s "#{destination}" ]] && [[ -x "#{destination}" ]] && [[ ${file_info[2]} == '#{u}' ]] && [[ ${file_info[3]} == '#{g}' ]]; #{check_response} } end
check_exists(destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 137 def check_exists(destination) %{if [[ -s "#{destination}" ]]; #{check_response}} end
check_file_exist?(file)
click to toggle source
# File lib/mina/extras/methods.rb, line 192 def check_file_exist?(file) File.exist?(file) end
check_ownership(u, g, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 141 def check_ownership(u, g, destination) %{ file_info=(`ls -l #{destination}`) if [[ -s "#{destination}" ]] && [[ ${file_info[2]} == '#{u}' ]] && [[ ${file_info[3]} == '#{g}' ]]; #{check_response} } end
check_response()
click to toggle source
# File lib/mina/extras/methods.rb, line 133 def check_response 'then echo "-----> SUCCESS"; else echo "-----> FAILED"; fi' end
check_symlink(destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 155 def check_symlink(destination) %{if [[ -h "#{destination}" ]]; #{check_response}} end
command_echo(s)
click to toggle source
# File lib/mina/extras/methods.rb, line 188 def command_echo(s) command %{echo '#{s}'} end
custom_conf?(conf)
click to toggle source
# File lib/mina/extras/methods.rb, line 159 def custom_conf?(conf) Dir[File.join(Dir.pwd, "config", "deploy", "#{fetch(:server)}", "*")].map do |file| filename = File.basename(file) if filename.gsub(/.erb\Z/, "") == conf.to_s return true end end false end
custom_conf_path(conf)
click to toggle source
# File lib/mina/extras/methods.rb, line 170 def custom_conf_path(conf) Dir[File.join(Dir.pwd, "config", "deploy", "#{fetch(:server)}", "*")].map do |file| filename = File.basename(file) if filename.gsub(/.erb\Z/, "") == conf.to_s return file end end Dir[File.join(Dir.pwd, "config", "deploy", "shared", "*")].map do |file| filename = File.basename(file) if filename.gsub(/.erb\Z/, "") == conf.to_s return file end end false end
extra_echo(desc)
click to toggle source
# File lib/mina/extras/methods.rb, line 5 def extra_echo(desc) command "echo '--------> #{desc}'" end
extra_echo!(desc)
click to toggle source
# File lib/mina/extras/methods.rb, line 9 def extra_echo!(desc) command "echo '--------> #{desc}'" end
gem_install(package, options=nil)
click to toggle source
# File lib/mina/extras/gem.rb, line 1 def gem_install(package, options=nil) command "sudo gem install #{package} #{options} --no-rdoc --no-ri" end
mv_config(source, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 1 def mv_config(source, destination) command %{mv #{fetch(:deploy_to)}/shared/config/#{source} #{fetch(:deploy_to)}/shared/config/#{destination}} end
parse_template(file)
click to toggle source
# File lib/mina/extras/methods.rb, line 129 def parse_template(file) erb(file) end
scp_file(desc, source, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 13 def scp_file(desc, source, destination) on :after_hook do extra_echo("Put #{desc} file to #{destination}") command = "scp " command << source command << " #{user}@#{domain!}:#{destination}" extra_echo("#{command}") result = %x[#{command}] puts result unless result == "" end end
upload_default_template(tpl, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 94 def upload_default_template(tpl, destination) desc = File.basename(destination) source = File.join(File.dirname(__FILE__), "templates", "#{tpl}.erb") contents = parse_template(source) extra_echo("Put #{desc} file to #{destination}") script = <<EOF script=$(cat <<'EOFF' #{contents} EOFF ) EOF command %{#{script}} command %{echo "$script" > #{destination}} command check_exists(destination) end
upload_file(filename, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 38 def upload_file(filename, destination) src = custom_conf_path(filename) if src upload_template src, destination else upload_default_template filename, destination end end
upload_template(source, destination)
click to toggle source
# File lib/mina/extras/methods.rb, line 71 def upload_template(source, destination) desc = File.basename(destination) if source =~ /erb$/ contents = parse_template(source) else contents = parse_template(source) end extra_echo("Put #{desc} file to #{destination}") script = <<EOF script=$(cat <<'EOFF' #{contents} EOFF ) EOF command %{#{script}} command %{echo "$script" > #{destination}} command check_exists(destination) end