Class: RailsAiBridge::Serializers::Providers::Collaborators::RulesNotableGemsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/serializers/providers/collaborators/rules_notable_gems_builder.rb

Overview

Builds notable gem lines for compact rules output.

Defined Under Namespace

Classes: GemEntries, GemEntry, NotableGemCollection, NotableGemSortKey

Constant Summary collapse

SECTION_HEADER =

Heading used for the notable gems section.

'## Notable Gems'
GEM_ENTRY_FORMAT =

Format string for one notable gem row.

'- `%s` (`%s`): %s'

Instance Method Summary collapse

Constructor Details

#initialize(gems) ⇒ RulesNotableGemsBuilder

Returns a new instance of RulesNotableGemsBuilder.

Parameters:

  • gems (Hash, nil)

    gems context payload



16
17
18
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/rules_notable_gems_builder.rb', line 16

def initialize(gems)
  @gems = gems
end

Instance Method Details

#callArray<String>

Returns notable gem lines, or empty when no gems qualify.

Returns:

  • (Array<String>)

    notable gem lines, or empty when no gems qualify



21
22
23
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/rules_notable_gems_builder.rb', line 21

def call
  GemEntries.new(notable_gems.sorted, SECTION_HEADER, GEM_ENTRY_FORMAT).to_a
end