Module: DataComposer::MigrationHelpers
- Defined in:
- lib/data_composer/migration_helpers.rb
Overview
Provides helper methods for defining data objects in database migrations.
Instance Method Summary collapse
Instance Method Details
#data_object(attribute_name, members:, **options) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/data_composer/migration_helpers.rb', line 6 def data_object(attribute_name, members:, **) raise MissingMembersError, 'members hash cannot be empty' if members.empty? default_value = .delete(:default) members.each do |member_name, member_type| column_name = DataComposer.column_name_for_member(attribute_name, member_name) = .dup [:default] = default_value[member_name] if default_value && default_value.is_a?(Hash) if .empty? column(column_name, member_type) else column(column_name, member_type, **) end end end |