11# frozen_string_literal: true
22
33module FixtureBot
4- class RecordBuilder
5- def initialize ( row :, table_def :, generators :, join_tables :)
4+ class RowBuilder
5+ def initialize ( row :, table :, defaults :, join_tables :)
66 @row = row
7- @table_def = table_def
8- @generators = generators
7+ @table = table
8+ @defaults = defaults
99 @join_tables = join_tables
1010 end
1111
1212 def id
13- @id ||= StableId . generate ( @row . table , @row . name )
13+ @id ||= Key . generate ( @row . table , @row . name )
1414 end
1515
1616 def record
1717 result = { id : id }
18- @table_def . columns . each do |col |
18+ @table . columns . each do |col |
1919 if @row . literal_values . key? ( col )
2020 result [ col ] = @row . literal_values [ col ]
2121 elsif foreign_key_values . key? ( col )
2222 result [ col ] = foreign_key_values [ col ]
23- elsif generated_values . key? ( col )
24- result [ col ] = generated_values [ col ]
23+ elsif defaulted_values . key? ( col )
24+ result [ col ] = defaulted_values [ col ]
2525 end
2626 end
2727 result
@@ -39,7 +39,7 @@ def join_rows
3939 private
4040
4141 def build_join_row ( jt , other_table , tag_ref )
42- other_id = StableId . generate ( other_table , tag_ref )
42+ other_id = Key . generate ( other_table , tag_ref )
4343
4444 if jt . left_table == @row . table
4545 {
@@ -58,17 +58,17 @@ def build_join_row(jt, other_table, tag_ref)
5858
5959 def foreign_key_values
6060 @foreign_key_values ||= @row . association_refs . each_with_object ( { } ) do |( assoc_name , ref ) , hash |
61- assoc = @table_def . belongs_to_associations . find { |a | a . name == assoc_name }
62- hash [ assoc . foreign_key ] = StableId . generate ( assoc . table , ref )
61+ assoc = @table . belongs_to_associations . find { |a | a . name == assoc_name }
62+ hash [ assoc . foreign_key ] = Key . generate ( assoc . table , ref )
6363 end
6464 end
6565
66- def generated_values
67- @generated_values ||= @generators . each_with_object ( { } ) do |( col , block ) , result |
66+ def defaulted_values
67+ @defaulted_values ||= @defaults . each_with_object ( { } ) do |( col , block ) , result |
6868 next if @row . literal_values . key? ( col )
6969 next if foreign_key_values . key? ( col )
7070
71- context = GeneratorContext . new (
71+ context = DefaultContext . new (
7272 record_name : @row . name ,
7373 literal_values : @row . literal_values
7474 )
0 commit comments