diff --git a/packages/forest_admin_datasource_active_record/lib/forest_admin_datasource_active_record/parser/column.rb b/packages/forest_admin_datasource_active_record/lib/forest_admin_datasource_active_record/parser/column.rb index 59e578d2a..aeee05f41 100644 --- a/packages/forest_admin_datasource_active_record/lib/forest_admin_datasource_active_record/parser/column.rb +++ b/packages/forest_admin_datasource_active_record/lib/forest_admin_datasource_active_record/parser/column.rb @@ -17,6 +17,9 @@ module Column string: 'String', text: 'String', citext: 'String', + inet: 'String', + cidr: 'String', + macaddr: 'String', time: 'Time', uuid: 'Uuid', binary: 'Binary' diff --git a/packages/forest_admin_datasource_active_record/spec/lib/forest_admin_datasource_active_record/parser/column_spec.rb b/packages/forest_admin_datasource_active_record/spec/lib/forest_admin_datasource_active_record/parser/column_spec.rb index 32ccbe9b3..e87438827 100644 --- a/packages/forest_admin_datasource_active_record/spec/lib/forest_admin_datasource_active_record/parser/column_spec.rb +++ b/packages/forest_admin_datasource_active_record/spec/lib/forest_admin_datasource_active_record/parser/column_spec.rb @@ -56,6 +56,21 @@ module Parser expect(dummy_class.get_column_type(User, column)).to eq ['Number'] end + + %i[inet cidr macaddr].each do |pg_type| + it "maps Postgres #{pg_type} columns to String without logging an unknown-type message" do + logger = instance_double(Logger, log: nil) + allow(ForestAdminAgent::Facades::Container).to receive(:logger).and_return(logger) + column = instance_double( + ActiveRecord::ConnectionAdapters::SQLite3::Column, + name: 'address', + type: pg_type + ) + + expect(dummy_class.get_column_type(User, column)).to eq 'String' + expect(logger).not_to have_received(:log) + end + end end describe 'get_enum_values' do