Module: Propro

Defined in:
lib/propro.rb,
lib/propro/cli.rb,
lib/propro/export.rb,
lib/propro/option.rb,
lib/propro/script.rb,
lib/propro/source.rb,
lib/propro/command.rb,
lib/propro/package.rb,
lib/propro/version.rb

Defined Under Namespace

Modules: Package Classes: CLI, Command, Error, Export, Option, Script, Source

Constant Summary collapse

<<'DOC'.chomp
    ____  _________  ____  _________
   / __ \/ ___/ __ \/ __ \/ ___/ __ \
  / /_/ / /  / /_/ / /_/ / /  / /_/ /
 / .___/_/   \____/ .___/_/   \____/
/_/              /_/
DOC
VERSION =
'0.4.2'

Class Method Summary collapse

Class Method Details



22
23
24
# File 'lib/propro.rb', line 22

def banner
  BANNER
end

.color_bannerObject

<3 <3 <3 Lifted from Minitest::Pride <3 <3 <3 github.com/seattlerb/minitest/blob/master/lib/minitest/pride_plugin.rb



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/propro.rb', line 28

def color_banner
  @color_banner ||= begin
    if /^xterm|-256color$/ =~ ENV['TERM']
      pi3    = Math::PI / 3
      colors = (0...(6 * 7)).map { |n|
        n *= 1.0 / 6
        r  = (3 * Math.sin(n          ) + 3).to_i
        g  = (3 * Math.sin(n + 2 * pi3) + 3).to_i
        b  = (3 * Math.sin(n + 4 * pi3) + 3).to_i
        36 * r + 6 * g + b + 16
      }
      banner.each_line.map { |line|
        line.each_char.with_index.map { |chr, i|
          "\e[38;5;#{colors[i]}m#{chr}\e[0m"
        }.join
      }.join
    else
      "\e[2m#{banner}\e[0m"
    end
  end
end

.comment_bannerObject



50
51
52
# File 'lib/propro.rb', line 50

def comment_banner
  @comment_banner ||= banner.each_line.map { |l| '# ' + l }.join
end

.rootObject



54
55
56
# File 'lib/propro.rb', line 54

def root
  File.expand_path(File.join(File.dirname(__FILE__), '..'))
end