Class: MigrationStep

Inherits:
ApplicationRecord show all
Defined in:
app/models/migration_step.rb

Instance Method Summary collapse

Instance Method Details

#association_overridesObject

Custom getter for association_overrides



75
76
77
78
79
80
81
82
83
84
# File 'app/models/migration_step.rb', line 75

def association_overrides
  value = read_attribute(:association_overrides)
  return {} if value.blank?
  return value if value.is_a?(Hash)

  JSON.parse(value)
rescue JSON::ParserError => e
  Rails.logger.error "Failed to parse association_overrides for MigrationStep #{id}: #{e.message}"
  {}
end

#association_overrides=(value) ⇒ Object

Custom setter for association_overrides



87
88
89
90
91
92
93
94
95
# File 'app/models/migration_step.rb', line 87

def association_overrides=(value)
  if value.is_a?(String)
    write_attribute(:association_overrides, value)
  elsif value.is_a?(Hash)
    write_attribute(:association_overrides, value.to_json)
  else
    write_attribute(:association_overrides, {}.to_json)
  end
end

#column_overridesObject

Custom getter for column_overrides



52
53
54
55
56
57
58
59
60
61
# File 'app/models/migration_step.rb', line 52

def column_overrides
  value = read_attribute(:column_overrides)
  return {} if value.blank?
  return value if value.is_a?(Hash)

  JSON.parse(value)
rescue JSON::ParserError => e
  Rails.logger.error "Failed to parse column_overrides for MigrationStep #{id}: #{e.message}"
  {}
end

#column_overrides=(value) ⇒ Object

Custom setter for column_overrides



64
65
66
67
68
69
70
71
72
# File 'app/models/migration_step.rb', line 64

def column_overrides=(value)
  if value.is_a?(String)
    write_attribute(:column_overrides, value)
  elsif value.is_a?(Hash)
    write_attribute(:column_overrides, value.to_json)
  else
    write_attribute(:column_overrides, {}.to_json)
  end
end

#dependee_attribute_mappingObject

Custom getter for dependee_attribute_mapping



29
30
31
32
33
34
35
36
37
38
# File 'app/models/migration_step.rb', line 29

def dependee_attribute_mapping
  value = read_attribute(:dependee_attribute_mapping)
  return {} if value.blank?
  return value if value.is_a?(Hash)

  JSON.parse(value)
rescue JSON::ParserError => e
  Rails.logger.error "Failed to parse dependee_attribute_mapping for MigrationStep #{id}: #{e.message}"
  {}
end

#dependee_attribute_mapping=(value) ⇒ Object

Custom setter for dependee_attribute_mapping



41
42
43
44
45
46
47
48
49
# File 'app/models/migration_step.rb', line 41

def dependee_attribute_mapping=(value)
  if value.is_a?(String)
    write_attribute(:dependee_attribute_mapping, value)
  elsif value.is_a?(Hash)
    write_attribute(:dependee_attribute_mapping, value.to_json)
  else
    write_attribute(:dependee_attribute_mapping, {}.to_json)
  end
end