class Figaro::Backup::Rails::Engine
Public Instance Methods
build_message(message)
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 56 def build_message(message) "[Figaro Backup] #{message}" end
check_things_out!()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 10 def check_things_out! raise build_message "Oops... #{Figaro.application.path.inspect} is missing." unless File.exists?(Figaro.application.path) raise build_message "You should really use git!" unless git_installed? raise build_message "Make sure to add #{Figaro.application.path.inspect} to .gitignore!" unless git_ignored? return puts(build_message "YAY! Your project lives in Dropbox!") if in_dropbox?(Figaro.application.path) raise build_message "Make sure that #{Figaro.application.path.inspect} is symlinked" unless symlinked? raise build_message "Your symlink #{symlink_target_path.inspect} should be in Dropbox!" unless symlinked_to_dropbox? puts build_message "YAY! Your Figaro config is symlinked to Dropbox!" end
git_ignored?()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 24 def git_ignored? `git check-ignore "#{Figaro.application.path}"; echo $?`.to_i == 0 end
git_installed?()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 20 def git_installed? `which git; echo $?`.to_i == 0 end
git_root_path()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 28 def git_root_path `git rev-parse --show-toplevel`.strip end
in_dropbox?(file_path)
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 44 def in_dropbox?(file_path) dir = File.dirname(file_path) return false if dir == '/' || dir == Dir.home check = %w{.dropbox .dropbox.cache} files = check.map{|file| File.join(dir, file)} found = files.any?{|path| Dir.exists?(path)} found || in_dropbox?(dir) end
symlink_target_path()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 36 def symlink_target_path File.readlink(Figaro.application.path) if symlinked? end
symlinked?()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 32 def symlinked? File.symlink?(Figaro.application.path) end
symlinked_to_dropbox?()
click to toggle source
# File lib/figaro/backup/rails/engine.rb, line 40 def symlinked_to_dropbox? symlinked? && in_dropbox?(symlink_target_path) end