Module: Cucumber::Formatter::ANSIColor

Includes:
Term::ANSIColor
Included in:
Console
Defined in:
lib/cucumber/formatter/ansicolor.rb

Overview

Constant Summary

ALIASES =
Hash.new do |h,k|
  if k.to_s =~ /(.*)_param/
    h[$1] + ',bold'
  end
end.merge({
  'undefined' => 'yellow',
  'pending'   => 'yellow',
  'failed'    => 'red',
  'passed'    => 'green',
  'outline'   => 'cyan',
  'skipped'   => 'cyan',
  'comment'   => 'grey',
  'tag'       => 'cyan'
})

Constants included from Term::ANSIColor

Term::ANSIColor::ATTRIBUTES, Term::ANSIColor::ATTRIBUTE_NAMES, Term::ANSIColor::COLORED_REGEXP

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods included from Term::ANSIColor

attributes, coloring=, coloring?, #uncolored

Class Method Details

+ (Object) define_grey

:nodoc:



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/cucumber/formatter/ansicolor.rb', line 111

def self.define_grey #:nodoc:
  begin
    gem 'genki-ruby-terminfo'
    require 'terminfo'
    case TermInfo.default_object.tigetnum("colors")
    when 0
      raise "Your terminal doesn't support colours."
    when 1
      ::Cucumber::Term::ANSIColor.coloring = false
      alias grey white
    when 2..8
      alias grey white
    else
      define_real_grey
    end
  rescue Exception => e
    if e.class.name == 'TermInfo::TermInfoError'
      STDERR.puts "*** WARNING ***"
      STDERR.puts "You have the genki-ruby-terminfo gem installed, but you haven't set your TERM variable."
      STDERR.puts "Try setting it to TERM=xterm-256color to get grey colour in output."
      STDERR.puts "\n"
      alias grey white
    else
      define_real_grey
    end
  end
end

+ (Object) define_real_grey

:nodoc:



139
140
141
142
143
144
145
146
147
# File 'lib/cucumber/formatter/ansicolor.rb', line 139

def self.define_real_grey #:nodoc:
  def grey(string) #:nodoc:
    if ::Cucumber::Term::ANSIColor.coloring?
      "\e[90m#{string}\e[0m"
    else
      string
    end
  end
end

Instance Method Details

- (Object) cukes(n)



151
152
153
# File 'lib/cucumber/formatter/ansicolor.rb', line 151

def cukes(n)
  ("(::) " * n).strip
end

- (Object) green_cukes(n)



155
156
157
# File 'lib/cucumber/formatter/ansicolor.rb', line 155

def green_cukes(n)
  blink(green(cukes(n)))
end

- (Object) grey(string)

:nodoc:



140
141
142
143
144
145
146
# File 'lib/cucumber/formatter/ansicolor.rb', line 140

def grey(string) #:nodoc:
  if ::Cucumber::Term::ANSIColor.coloring?
    "\e[90m#{string}\e[0m"
  else
    string
  end
end

- (Object) red_cukes(n)



159
160
161
# File 'lib/cucumber/formatter/ansicolor.rb', line 159

def red_cukes(n)
  blink(red(cukes(n)))
end

- (Object) yellow_cukes(n)



163
164
165
# File 'lib/cucumber/formatter/ansicolor.rb', line 163

def yellow_cukes(n)
  blink(yellow(cukes(n)))
end