module Bake::Utils
Public Class Methods
deep_copy(x)
click to toggle source
# File lib/common/utils.rb, line 90 def self.deep_copy(x) Marshal.load(Marshal.dump(x)) end
flagSplit(str, removeQuotes)
click to toggle source
# File lib/common/utils.rb, line 25 def self.flagSplit(str, removeQuotes) return [] if str == "" return [str] unless str.include?" " hasQuote = false hasDoubleQuote = false hadQuote = false ar = [] s = "" str.split("").each do |i| hasDoubleQuote = !hasDoubleQuote if !hasQuote && i == '"' hasQuote = !hasQuote if !hasDoubleQuote && i == '\'' hadQuote = true if hasDoubleQuote || hasQuote if i == ' ' if !hasDoubleQuote && !hasQuote if hadQuote && removeQuotes ar << s[1..-2] if s.length > 2 hadQuote = false else ar << s if s.length > 0 end s = "" next end end s << i end if !hasDoubleQuote && !hasQuote && hadQuote && removeQuotes ar << s[1..-2] if s.length > 2 elsif s.length > 0 ar << s end ar end
gitIgnore(folder, mode = :report)
click to toggle source
# File lib/common/utils.rb, line 7 def self.gitIgnore(folder, mode = :report) gitignore = folder + "/.gitignore" begin FileUtils::mkdir_p(folder) if !File.exist?(gitignore) File.write(gitignore, ".\n") end rescue Exception=>e if mode != :silent && Bake.options.verbose >= 3 Bake.formatter.printWarning("Warning: Could not write file #{gitignore}") if Bake.options.debug puts e.message puts e.backtrace end end end end