Class: Rails::Schema::Extractor::ColumnReader

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/schema/extractor/column_reader.rb

Instance Method Summary collapse

Constructor Details

#initialize(schema_data: nil, view_tables: nil) ⇒ ColumnReader

Returns a new instance of ColumnReader.



9
10
11
12
# File 'lib/rails/schema/extractor/column_reader.rb', line 9

def initialize(schema_data: nil, view_tables: nil)
  @schema_data = schema_data
  @view_tables = view_tables ? Set.new(view_tables) : Set.new
end

Instance Method Details

#read(model) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/rails/schema/extractor/column_reader.rb', line 14

def read(model)
  if @view_tables.include?(model.table_name)
    read_view(model)
  elsif @schema_data&.key?(model.table_name)
    @schema_data[model.table_name]
  else
    read_from_model(model)
  end
end