Module: DataComposer::Model::ClassMethods

Defined in:
lib/data_composer/model.rb

Overview

Class methods added to ActiveRecord models when DataComposer::Model is included.

Instance Method Summary collapse

Instance Method Details

#compose_data(attribute_name, data_class, **options) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/data_composer/model.rb', line 13

def compose_data(attribute_name, data_class, **options)
  validate_data_class!(data_class)

  members = extract_data_members(data_class)
  column_mapping = build_column_mapping(attribute_name, members)

  define_data_accessors(attribute_name, data_class, column_mapping)
  define_validation_if_needed(attribute_name, data_class, options)
end