Class: SchemaFerry::DSL::TableRule

Inherits:
Object
  • Object
show all
Defined in:
lib/schema_ferry/dsl/table_rule.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(table_name) ⇒ TableRule

Returns a new instance of TableRule.



12
13
14
15
16
17
18
# File 'lib/schema_ferry/dsl/table_rule.rb', line 12

def initialize(table_name)
  @table_name               = table_name.to_s
  @column_type_overrides    = {}
  @column_default_overrides = {}
  @ignored_columns          = []
  @ignored_indexes          = []
end

Instance Attribute Details

#column_default_overridesObject (readonly)

Returns the value of attribute column_default_overrides.



9
10
11
# File 'lib/schema_ferry/dsl/table_rule.rb', line 9

def column_default_overrides
  @column_default_overrides
end

#column_type_overridesObject (readonly)

Returns the value of attribute column_type_overrides.



9
10
11
# File 'lib/schema_ferry/dsl/table_rule.rb', line 9

def column_type_overrides
  @column_type_overrides
end

#ignored_columnsObject (readonly)

Returns the value of attribute ignored_columns.



9
10
11
# File 'lib/schema_ferry/dsl/table_rule.rb', line 9

def ignored_columns
  @ignored_columns
end

#ignored_indexesObject (readonly)

Returns the value of attribute ignored_indexes.



9
10
11
# File 'lib/schema_ferry/dsl/table_rule.rb', line 9

def ignored_indexes
  @ignored_indexes
end

#table_nameObject (readonly)

Returns the value of attribute table_name.



9
10
11
# File 'lib/schema_ferry/dsl/table_rule.rb', line 9

def table_name
  @table_name
end

Instance Method Details

#ignore_column(column_name) ⇒ Object



25
26
27
# File 'lib/schema_ferry/dsl/table_rule.rb', line 25

def ignore_column(column_name)
  @ignored_columns << column_name.to_s
end

#ignore_index(index_name) ⇒ Object



29
30
31
# File 'lib/schema_ferry/dsl/table_rule.rb', line 29

def ignore_index(index_name)
  @ignored_indexes << index_name.to_s
end

#map_column(column_name, type:, default: UNSET) ⇒ Object



20
21
22
23
# File 'lib/schema_ferry/dsl/table_rule.rb', line 20

def map_column(column_name, type:, default: UNSET)
  @column_type_overrides[column_name.to_s] = type.to_sym
  @column_default_overrides[column_name.to_s] = default unless default.equal?(UNSET)
end