Class: Jazzy::Stats

Inherits:
Object
  • Object
show all
Includes:
Config::Mixin
Defined in:
lib/jazzy/stats.rb

Overview

Collect + report metadata about a processed module

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Config::Mixin

#config

Constructor Details

#initializeStats

Returns a new instance of Stats.



33
34
35
36
# File 'lib/jazzy/stats.rb', line 33

def initialize
  @documented = @acl_skipped = 0
  @undocumented_decls = []
end

Instance Attribute Details

#acl_skippedObject (readonly)

Returns the value of attribute acl_skipped.



6
7
8
# File 'lib/jazzy/stats.rb', line 6

def acl_skipped
  @acl_skipped
end

#documentedObject (readonly)

Returns the value of attribute documented.



6
7
8
# File 'lib/jazzy/stats.rb', line 6

def documented
  @documented
end

#undocumented_declsObject (readonly)

Returns the value of attribute undocumented_decls.



7
8
9
# File 'lib/jazzy/stats.rb', line 7

def undocumented_decls
  @undocumented_decls
end

Instance Method Details

#acl_includedObject



25
26
27
# File 'lib/jazzy/stats.rb', line 25

def acl_included
  documented + undocumented
end

#add_acl_skippedObject



13
14
15
# File 'lib/jazzy/stats.rb', line 13

def add_acl_skipped
  @acl_skipped += 1
end

#add_documentedObject



9
10
11
# File 'lib/jazzy/stats.rb', line 9

def add_documented
  @documented += 1
end

#add_undocumented(decl) ⇒ Object



17
18
19
# File 'lib/jazzy/stats.rb', line 17

def add_undocumented(decl)
  @undocumented_decls << decl
end

#doc_coverageObject



58
59
60
61
# File 'lib/jazzy/stats.rb', line 58

def doc_coverage
  return 0 if acl_included == 0
  (100 * documented) / acl_included
end

#remove_undocumented(decl) ⇒ Object



21
22
23
# File 'lib/jazzy/stats.rb', line 21

def remove_undocumented(decl)
  @undocumented_decls.delete(decl)
end

#reportObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/jazzy/stats.rb', line 38

def report
  puts "#{doc_coverage}\% documentation coverage " \
    "with #{undocumented} undocumented " \
    "#{symbol_or_symbols(undocumented)}"

  if acl_included > 0
    swift_acls = comma_list(config.min_acl.included_levels)
    puts "included #{acl_included} " +
         (config.objc_mode ? '' : "#{swift_acls} ") +
         symbol_or_symbols(acl_included)
  end

  if !config.objc_mode && acl_skipped > 0
    puts "skipped #{acl_skipped} " \
      "#{comma_list(config.min_acl.excluded_levels)} " \
      "#{symbol_or_symbols(acl_skipped)} " \
      '(use `--min-acl` to specify a different minimum ACL)'
  end
end

#undocumentedObject



29
30
31
# File 'lib/jazzy/stats.rb', line 29

def undocumented
  undocumented_decls.count
end