66a9e3139ac820759677599f0585378fd85ff7c6
[yaffs-website] / vendor / twbs / bootstrap-sass / tasks / converter / logger.rb
1 class Converter
2   class Logger
3     include Term::ANSIColor
4
5     def log_status(status)
6       puts bold status
7     end
8
9     def log_file_info(s)
10       puts "    #{magenta s}"
11     end
12
13     def log_transform(*args, from: caller[1][/`.*'/][1..-2].sub(/^block in /, ''))
14       puts "    #{cyan from}#{cyan ": #{args * ', '}" unless args.empty?}"
15     end
16
17     def log_processing(name)
18       puts yellow "  #{File.basename(name)}"
19     end
20
21     def log_processed(name)
22       puts green "    #{name}"
23     end
24
25     def log_http_get_file(url, cached = false)
26       s = "  #{'CACHED ' if cached}GET #{url}..."
27       if cached
28         puts dark green s
29       else
30         puts dark cyan s
31       end
32     end
33
34     def log_http_get_files(files, from, cached = false)
35       return if files.empty?
36       s = "  #{'CACHED ' if cached}GET #{files.length} files from #{from} #{files * ' '}..."
37       if cached
38         puts dark green s
39       else
40         puts dark cyan s
41       end
42     end
43
44     def puts(*args)
45       STDERR.puts *args unless @silence
46     end
47
48     alias log puts
49
50     def silence_log
51       @silence = true
52       yield
53     ensure
54       @silence = false
55     end
56   end
57 end