class Cuukie::Server
Public Instance Methods
code_snippet_for(exception)
click to toggle source
# File lib/cuukie/server/server.rb, line 112 def code_snippet_for(exception) return '' unless exception[:raw_lines] result = '<pre class="ruby"><code>' linenum = exception[:first_line].to_i html_lines = htmlize(exception[:raw_lines]).split "\n" html_lines.each do |html_line| line = "<span class=\"linenum\">#{linenum}</span>#{html_line}" line = "<span class=\"offending\">#{line}</span>" if linenum.to_s == exception[:marked_line] result << "#{line}<br/>" linenum += 1 end result << '</code></pre>' end
counts(elements)
click to toggle source
# File lib/cuukie/server/server.rb, line 179 def counts(elements) counts = ['failed', 'skipped', 'undefined', 'pending', 'passed'].map do |status| selected = elements.find_all {|element| element[:status] == status } selected.any? ? "#{selected.size} #{status}" : nil end.compact counts.any? ? " (#{counts.join(', ')})" : '' end
current_feature()
click to toggle source
# File lib/cuukie/server/server.rb, line 136 def current_feature settings.features.last end
current_scenario()
click to toggle source
# File lib/cuukie/server/server.rb, line 140 def current_scenario # return a "nil scenario" (that includes a "nil step") if we # don't have a scenario yet. this is useful to eliminate steps # coming from backgrounds (which will be re-sent during the # following scenarios anyway) return { :steps => [{}] } if current_feature[:scenarios].empty? current_feature[:scenarios].last end
current_step()
click to toggle source
# File lib/cuukie/server/server.rb, line 149 def current_step current_scenario[:steps].last end
format_time()
click to toggle source
# File lib/cuukie/server/server.rb, line 130 def format_time min, sec = time.to_i.divmod(60) "#{min}':#{sec}''" end
htmlize(ruby)
click to toggle source
# File lib/cuukie/server/server.rb, line 187 def htmlize(ruby) convertor = Syntax::Convertors::HTML.for_syntax("ruby") convertor.convert(ruby, false) end
pluralize(count, what)
click to toggle source
# File lib/cuukie/server/server.rb, line 175 def pluralize(count, what) "#{count} #{what}#{count == 1 ? '' : 's'}" end
read_from_request()
click to toggle source
# File lib/cuukie/server/server.rb, line 192 def read_from_request result = {} request.params.each do |k, v| result[k.to_sym] = (k =~ /^raw_/) ? v : Rack::Utils.escape_html(v) end result end
stats()
click to toggle source
# File lib/cuukie/server/server.rb, line 159 def stats scenarios = [] settings.features.each {|feature| scenarios.concat feature[:scenarios] } result = {:scenarios => String.new, :steps => String.new} result[:scenarios] << pluralize(scenarios.size, "scenario") result[:scenarios] << counts(scenarios) steps = [] scenarios.each {|scenario| steps.concat scenario[:steps] } result[:steps] << pluralize(steps.size, "step") step_count = counts steps result[:steps] << step_count if step_count result end
time()
click to toggle source
# File lib/cuukie/server/server.rb, line 153 def time return settings.duration if settings.duration return 0 unless settings.start_time return Time.now - settings.start_time end
time_label()
click to toggle source
# File lib/cuukie/server/server.rb, line 126 def time_label settings.duration ? "Duration" : "Running time" end