Class: Wallaby::ActiveRecord::ModelDecorator::FieldsBuilder::StiBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/adaptors/wallaby/active_record/model_decorator/fields_builder/sti_builder.rb

Overview

To build the metadata for sti column

Instance Method Summary collapse

Constructor Details

#initialize(model_class) ⇒ StiBuilder

Returns a new instance of StiBuilder.

Parameters:

  • model_class (Class)

    model class



9
10
11
# File 'lib/adaptors/wallaby/active_record/model_decorator/fields_builder/sti_builder.rb', line 9

def initialize(model_class)
  @model_class = model_class
end

Instance Method Details

#update(metadata, column) ⇒ Object

update the metadata

Parameters:

  • metadata (Hash)
  • column (ActiveRecord::ConnectionAdapters::Column)


16
17
18
19
20
# File 'lib/adaptors/wallaby/active_record/model_decorator/fields_builder/sti_builder.rb', line 16

def update(, column)
  return unless @model_class.inheritance_column == column.name
  [:type] = 'sti'.freeze
  [:sti_class_list] = sti_list(find_parent_of(@model_class))
end