21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/generators/draisine/integration_generator.rb', line 21
def create_salesforce_integrations
@model_name = model.classify.singularize
@model_file = "app/models/#{model.underscore.singularize}.rb"
@table_name = model.underscore.gsub("/", "_").pluralize
@migration_title = "CreateSalesforce#{model.classify.gsub('::', '').pluralize}"
@migration_file = existing_migration_name(@migration_title) ||
"db/migrate/#{migration_number}_#{@migration_title.underscore}.rb"
@salesforce_object_name = salesforce_object_name || model.classify.demodulize
@materialized_model = Draisine.salesforce_client.materialize(@salesforce_object_name)
@mapper = Draisine::TypeMapper.new(@materialized_model.type_map)
@ar_col_defs = @mapper.active_record_column_defs
@columns = @mapper.active_record_column_defs.map(&:column_name)
@serialized_columns = @mapper.serialized_columns
@array_columns = @mapper.array_columns
@non_audited_columns = @mapper.columns - @mapper.updateable_columns
template "migration.rb", @migration_file
template "model.rb", @model_file
end
|