Sha256: 3e39901630e8774f8981723e5a7c3fe05c3dc4f7397acf526c6e1d597eee7c7a

Contents?: true

Size: 911 Bytes

Versions: 1

Compression:

Stored size: 911 Bytes

Contents

module MasterDataTool
  module Import
    class Config
      DEFAULT_VALUES = {
        only_tables: [],
        except_tables: [],
        skip_no_change: true,
        ignore_foreign_key_when_delete: true,
      }

      attr_accessor :only_tables, :except_tables, :skip_no_change, :ignore_foreign_key_when_delete

      def initialize(only_tables:, except_tables:, skip_no_change:, ignore_foreign_key_when_delete:)
        @only_tables = only_tables
        @except_tables = except_tables
        @skip_no_change = skip_no_change
        @ignore_foreign_key_when_delete = ignore_foreign_key_when_delete
      end

      def skip_table?(table_name)
        MasterDataTool.need_skip_table?(table_name, only_tables, except_tables)
      end

      def configure
        yield self
      end

      class << self
        def default_config
          new(**DEFAULT_VALUES)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
master_data_tool-0.23.0 lib/master_data_tool/import/config.rb