Module: Ariadne::Static::GenerateArguments

Defined in:
lib/ariadne/static/generate_arguments.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.call(view_context: self.view_context) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ariadne/static/generate_arguments.rb', line 12

def call(view_context: self.view_context)
  Ariadne::BaseComponent.descendants.sort_by(&:name).map do |component|
    docs = registry.find(component)
    ref = Ariadne::Yard::ComponentManifest.ref_for(component)

    args = docs.params.map do |tag|
      default_value = Ariadne::Yard::DocsHelper.pretty_default_value(tag, component)

      {
        "name" => tag.name,
        "type" => tag.types.join(", "),
        "default" => default_value,
        "description" => view_context.render(inline: tag.text&.squish),
      }
    end

    {
      "component" => docs.[:title],
      "a11y_reviewed" => docs.[:a11y_reviewed] == "true",
      "short_name" => docs.short_name,
      "source" => ref.source_url,
      "lookbook" => ref.lookbook_url,
      "parameters" => args,
    }
  end
end