Sha256: 670ff0b423904218fe6fd6fcc9ad2e8117c63dd164273d7ef56e3b0c79e94295
Contents?: true
Size: 909 Bytes
Versions: 1
Compression:
Stored size: 909 Bytes
Contents
module InstDataShipper module DataSources # This module contains the logic for processing local AR tables module LocalTables extend ActiveSupport::Concern public def import_local_table(*args, **kwargs) delayed(:_import_local_table, *args, **kwargs) end private def _import_local_table(table_name) table_def = table_schemas.find { |t| t[:model].to_s == table_name } model = table_def[:model] inner_block = ->(file) { query = model query = query.includes(table_def[:includes]) if table_def[:includes].present? model.find_each do |m| file << table_def[:columns].map do |c| c[:transformer].present? ? m.instance_exec(&c[:transformer]) : m[c[:local_name].to_s] end end } upload_data(table_def, &inner_block) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
inst_data_shipper-0.1.0.beta1 | lib/inst_data_shipper/data_sources/local_tables.rb |