Module: DumpedRailers::Configuration

Extended by:
Forwardable
Included in:
DumpedRailers
Defined in:
lib/dumped_railers/configuration.rb

Constant Summary collapse

IGNORABLE_COLUMNS =
%w[id created_at updated_at]

Instance Method Summary collapse

Instance Method Details

#configure {|config| ... } ⇒ Object

Yields:

  • (config)


10
11
12
# File 'lib/dumped_railers/configuration.rb', line 10

def configure
  yield config
end

#configure_defaults!Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/dumped_railers/configuration.rb', line 19

def configure_defaults!
  default_yaml_column_permitted_classes =
    # FIXME: this will be no longer needed when we drop support for older Rails versions
    # https://discuss.rubyonrails.org/t/cve-2022-32224-possible-rce-escalation-bug-with-serialized-columns-in-active-record/81017
    if ActiveRecord.respond_to?(:yaml_column_permitted_classes)
      ActiveRecord.yaml_column_permitted_classes + [Date, Time, DateTime]
    else
      [Date, Time, DateTime]
    end

  clear_configuration!(
    ignorable_columns: IGNORABLE_COLUMNS,
    preprocessors: [],
    authorized_models: :any,
    yaml_column_permitted_classes: default_yaml_column_permitted_classes,
  )
end

#optionsObject



14
15
16
# File 'lib/dumped_railers/configuration.rb', line 14

def options
  config.to_h
end