Class: RailsAiBridge::Serializers::Providers::Collaborators::ModelLineFormatter::FormattingContext

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

Overview

Simple context object to group related parameters and reduce DataClump

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, schema_tables, migrations) ⇒ FormattingContext

Returns a new instance of FormattingContext.

Parameters:

  • data (Hash)

    Single model introspection data

  • schema_tables (Hash)

    Schema tables keyed by table name

  • migrations (Hash, nil)

    Migration summary data



167
168
169
170
171
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/model_line_formatter.rb', line 167

def initialize(data, schema_tables, migrations)
  @data = data
  @schema_tables = schema_tables
  @migrations = migrations
end

Instance Attribute Details

#dataHash (readonly)

Returns Single model introspection data.

Returns:

  • (Hash)

    Single model introspection data



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/model_line_formatter.rb', line 154

class FormattingContext
  attr_reader :data, :schema_tables, :migrations

  # @param data [Hash] Single model introspection data
  # @param context [Hash] Full introspection context
  # @return [FormattingContext] Context object for model-line formatting
  def self.from(data, context)
    new(data, context.dig(:schema, :tables) || {}, context[:migrations])
  end

  # @param data [Hash] Single model introspection data
  # @param schema_tables [Hash] Schema tables keyed by table name
  # @param migrations [Hash, nil] Migration summary data
  def initialize(data, schema_tables, migrations)
    @data = data
    @schema_tables = schema_tables
    @migrations = migrations
  end
end

#migrationsHash? (readonly)

Returns Migration summary data.

Returns:

  • (Hash, nil)

    Migration summary data



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/model_line_formatter.rb', line 154

class FormattingContext
  attr_reader :data, :schema_tables, :migrations

  # @param data [Hash] Single model introspection data
  # @param context [Hash] Full introspection context
  # @return [FormattingContext] Context object for model-line formatting
  def self.from(data, context)
    new(data, context.dig(:schema, :tables) || {}, context[:migrations])
  end

  # @param data [Hash] Single model introspection data
  # @param schema_tables [Hash] Schema tables keyed by table name
  # @param migrations [Hash, nil] Migration summary data
  def initialize(data, schema_tables, migrations)
    @data = data
    @schema_tables = schema_tables
    @migrations = migrations
  end
end

#schema_tablesHash (readonly)

Returns Schema tables keyed by table name.

Returns:

  • (Hash)

    Schema tables keyed by table name



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/model_line_formatter.rb', line 154

class FormattingContext
  attr_reader :data, :schema_tables, :migrations

  # @param data [Hash] Single model introspection data
  # @param context [Hash] Full introspection context
  # @return [FormattingContext] Context object for model-line formatting
  def self.from(data, context)
    new(data, context.dig(:schema, :tables) || {}, context[:migrations])
  end

  # @param data [Hash] Single model introspection data
  # @param schema_tables [Hash] Schema tables keyed by table name
  # @param migrations [Hash, nil] Migration summary data
  def initialize(data, schema_tables, migrations)
    @data = data
    @schema_tables = schema_tables
    @migrations = migrations
  end
end

Class Method Details

.from(data, context) ⇒ FormattingContext

Returns Context object for model-line formatting.

Parameters:

  • data (Hash)

    Single model introspection data

  • context (Hash)

    Full introspection context

Returns:



160
161
162
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/model_line_formatter.rb', line 160

def self.from(data, context)
  new(data, context.dig(:schema, :tables) || {}, context[:migrations])
end