CodeRay::Encoders::Statistic

Makes a statistic for the given tokens.

Alias: stats

Public Instance Methods

begin_group(kind) click to toggle source

TODO Hierarchy handling

    # File lib/coderay/encoders/statistic.rb, line 71
71:     def begin_group kind
72:       block_token ':begin_group', kind
73:     end
begin_line(kind) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 79
79:     def begin_line kind
80:       block_token ':begin_line', kind
81:     end
block_token(action, kind) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 87
87:     def block_token action, kind
88:       @type_stats['TOTAL'].count += 1
89:       @type_stats[action].count += 1
90:       @type_stats[kind].count += 1
91:     end
end_group(kind) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 75
75:     def end_group kind
76:       block_token ':end_group', kind
77:     end
end_line(kind) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 83
83:     def end_line kind
84:       block_token ':end_line', kind
85:     end
text_token(text, kind) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 62
62:     def text_token text, kind
63:       @real_token_count += 1 unless kind == :space
64:       @type_stats[kind].count += 1
65:       @type_stats[kind].size += text.size
66:       @type_stats['TOTAL'].size += text.size
67:       @type_stats['TOTAL'].count += 1
68:     end

Protected Instance Methods

finish(options) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 42
42:     def finish options
43:       all = @type_stats['TOTAL']
44:       all_count, all_size = all.count, all.size
45:       @type_stats.each do |type, stat|
46:         stat.size /= stat.count.to_f
47:       end
48:       types_stats = @type_stats.sort_by { |k, v| [-v.count, k.to_s] }.map do |k, v|
49:         TOKEN_TYPES_ROW % [k, v.count, 100.0 * v.count / all_count, v.size]
50:       end.join
51:       @out << STATS % [
52:         all_count, @real_token_count, all_size,
53:         @type_stats.delete_if { |k, v| k.is_a? String }.size,
54:         types_stats
55:       ]
56:       
57:       super
58:     end
setup(options) click to toggle source
    # File lib/coderay/encoders/statistic.rb, line 17
17:     def setup options
18:       super
19:       
20:       @type_stats = Hash.new { |h, k| h[k] = TypeStats.new 0, 0 }
21:       @real_token_count = 0
22:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.