Class: RailsAiBridge::RubydexAdapter::MethodCounter

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/rubydex_adapter/method_counter.rb

Overview

Counts method-like definitions across rubydex declarations.

Replaces the nested conditional counting in the adapter with a flat, testable pipeline. A definition is considered a method when its name includes parentheses or it is classified as a method type by the serializer.

Instance Method Summary collapse

Constructor Details

#initialize(serializer:) ⇒ MethodCounter

Returns a new instance of MethodCounter.

Parameters:

  • serializer (Serializer)

    for declaration_type classification



13
14
15
# File 'lib/rails_ai_bridge/rubydex_adapter/method_counter.rb', line 13

def initialize(serializer:)
  @serializer = serializer
end

Instance Method Details

#count(declarations) ⇒ Integer

Counts method definitions across declarations.

Parameters:

  • declarations (Array<Object>)

    rubydex declaration objects

Returns:

  • (Integer)

    total method count

Raises:

  • (StandardError)

    rescued internally, returns 0



22
23
24
25
26
# File 'lib/rails_ai_bridge/rubydex_adapter/method_counter.rb', line 22

def count(declarations)
  declarations.sum { |decl| method_count_for(decl) }
rescue StandardError
  0
end