require 'find' module Nodes VERSION = "0.1.7" def self.init(dir) puts "Init new point '#{File.basename(dir)}' in #{dir}" src = "#{File.dirname(__FILE__)}/../.point" system("cp -r #{src} #{dir}") end def self.clone(name) puts "Clone from server point '#{name}'" dir = "#{Dir.pwd}/#{name}" return unless system("mkdir #{dir}") init dir get dir end def self.put(dir) system("cd #{dir} && #{dir}/.point/put") end def self.get(dir) system("cd #{dir} && #{dir}/.point/get") end def self.del(dir) return unless system("cd #{dir} && #{dir}/.point/del") system("cd #{dir} && rm -rf #{dir}/.point") end def self.size(dir, hidden = false) total_size = 0 total_files = 0 total_directories = 0 Find.find(dir) do |path| if FileTest.directory?(path) total_directories += 1 if File.basename(path)[0] == ?. Find.prune # Don't look any further into this directory. else next end else if hidden || File.basename(path)[0] != ?. total_files += 1 total_size += FileTest.size(path) # print path+" -> " # puts FileTest.size(path) end end end puts "size: #{total_size}" puts "directories: #{total_directories}" puts "files: #{total_files}" end def self.country ip require 'geoip' print ip geoip = GeoIP.new("data/GeoIP.dat") location = geoip.country(p) country = location[2] if location != nil print " - #{country}" end def self.call cmd successfully = system(cmd) exit "blach" unless successfully end end