Class: Contracto::Stats
- Inherits:
-
Object
- Object
- Contracto::Stats
- Defined in:
- lib/contracto/stats.rb
Constant Summary collapse
- NA_TEXT =
'N/A'
Class Attribute Summary collapse
-
.all_contracts ⇒ Object
Returns the value of attribute all_contracts.
Class Method Summary collapse
- .all_responses ⇒ Object
- .contracts_stats_summary ⇒ Object
- .contracts_usage ⇒ Object
- .responses_stats_summary ⇒ Object
- .responses_usage ⇒ Object
- .summary ⇒ Object
- .used_contracts ⇒ Object
- .used_responses ⇒ Object
Class Attribute Details
.all_contracts ⇒ Object
Returns the value of attribute all_contracts.
6 7 8 |
# File 'lib/contracto/stats.rb', line 6 def all_contracts @all_contracts end |
Class Method Details
.all_responses ⇒ Object
16 17 18 |
# File 'lib/contracto/stats.rb', line 16 def all_responses @all_responses ||= all_contracts.map(&:responses).map(&:count).inject(&:+) end |
.contracts_stats_summary ⇒ Object
32 33 34 |
# File 'lib/contracto/stats.rb', line 32 def contracts_stats_summary "contracts usage: #{used_contracts.size}/#{all_contracts.size} (#{contracts_usage * 100}%)" end |
.contracts_usage ⇒ Object
20 21 22 23 24 |
# File 'lib/contracto/stats.rb', line 20 def contracts_usage return NA_TEXT if all_contracts.size.zero? (used_contracts.size/all_contracts.size.to_f).round(2) end |
.responses_stats_summary ⇒ Object
36 37 38 |
# File 'lib/contracto/stats.rb', line 36 def responses_stats_summary "examples usage: #{used_responses.size}/#{all_responses.size} (#{responses_usage * 100}%)" end |
.responses_usage ⇒ Object
26 27 28 29 30 |
# File 'lib/contracto/stats.rb', line 26 def responses_usage return NA_TEXT if all_responses.size.zero? (used_responses.size/all_responses.size.to_f).round(2) end |
.summary ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/contracto/stats.rb', line 40 def summary length = contracts_stats_summary.length [ 'stats'.center(length, '-'), contracts_stats_summary, responses_stats_summary, ('-' * length) + ' ' ].join("\n") end |
.used_contracts ⇒ Object
8 9 10 |
# File 'lib/contracto/stats.rb', line 8 def used_contracts @used_contracts ||= [] end |
.used_responses ⇒ Object
12 13 14 |
# File 'lib/contracto/stats.rb', line 12 def used_responses @used_responses ||= [] end |