Class: Fukuzatsu::Formatters::Json

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/fukuzatsu/formatters/json.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Base

#export, #filename, included, #initialize, #output_directory, #output_path, #path_to_results

Class Method Details

.index(summaries, base_output_path) ⇒ Object



9
10
11
# File 'lib/fukuzatsu/formatters/json.rb', line 9

def self.index(summaries, base_output_path)
  Fukuzatsu::Formatters::JsonIndex.new(summaries, base_output_path).export
end

Instance Method Details

#as_jsonObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/fukuzatsu/formatters/json.rb', line 13

def as_json
  result = {
    source_file: summary.source_file,
    object: summary.container_name,
    name: summary.entity_name,
    complexity: summary.complexity
  }
  if summary.is_class_or_module?
    result[:average_complexity] = summary.average_complexity
    result[:methods] = summary.summaries.map { |s| Json.new(summary: s, base_output_path: self.base_output_path).as_json }
  end
  result
end

#contentObject



27
28
29
# File 'lib/fukuzatsu/formatters/json.rb', line 27

def content
  as_json.to_json
end

#file_extensionObject



31
32
33
# File 'lib/fukuzatsu/formatters/json.rb', line 31

def file_extension
  ".json"
end