Class: Kumi::DocGenerator::Formatters::Json

Inherits:
Object
  • Object
show all
Defined in:
lib/kumi/doc_generator/formatters/json.rb

Instance Method Summary collapse

Constructor Details

#initialize(docs) ⇒ Json

Returns a new instance of Json.



7
8
9
# File 'lib/kumi/doc_generator/formatters/json.rb', line 7

def initialize(docs)
  @docs = docs
end

Instance Method Details

#formatObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kumi/doc_generator/formatters/json.rb', line 11

def format
  enriched = @docs.each_with_object({}) do |(alias_name, entry), acc|
    kernel_ids = extract_kernel_ids(entry["kernels"])
    acc[alias_name] = {
      "id" => entry["id"],
      "kind" => entry["kind"],
      "arity" => entry["arity"],
      "params" => entry["params"],
      "kernels" => kernel_ids,
      "dtype" => entry["dtype"],
      "aliases" => entry["aliases"],
      "reduction_strategy" => entry["reduction_strategy"]
    }
  end

  JSON.pretty_generate(enriched)
end