Class: BigShift::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/bigshift/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Factory

Returns a new instance of Factory.



169
170
171
# File 'lib/bigshift/cli.rb', line 169

def initialize(config)
  @config = config
end

Instance Method Details

#big_query_datasetObject



185
186
187
# File 'lib/bigshift/cli.rb', line 185

def big_query_dataset
  @big_query_dataset ||= BigQuery::Dataset.new(bq_service, raw_gcp_credentials['project_id'], @config[:bq_dataset_id], logger: logger)
end

#cleanerObject



189
190
191
# File 'lib/bigshift/cli.rb', line 189

def cleaner
  @cleaner ||= Cleaner.new(s3_resource, cs_service, logger: logger)
end

#cloud_storage_transferObject



177
178
179
# File 'lib/bigshift/cli.rb', line 177

def cloud_storage_transfer
  @cloud_storage_transfer ||= CloudStorageTransfer.new(cs_transfer_service, raw_gcp_credentials['project_id'], aws_credentials, logger: logger)
end

#create_unload_manifest(s3_bucket_name, s3_table_prefix) ⇒ Object



204
205
206
# File 'lib/bigshift/cli.rb', line 204

def create_unload_manifest(s3_bucket_name, s3_table_prefix)
  UnloadManifest.new(s3_resource, cs_service, @config[:s3_bucket_name], s3_table_prefix)
end

#loggerObject



200
201
202
# File 'lib/bigshift/cli.rb', line 200

def logger
  @logger ||= Logger.new($stderr)
end

#redshift_table_schemaObject



181
182
183
# File 'lib/bigshift/cli.rb', line 181

def redshift_table_schema
  @redshift_table_schema ||= RedshiftTableSchema.new(@config[:rs_schema_name], @config[:rs_table_name], rs_connection)
end

#redshift_unloaderObject



173
174
175
# File 'lib/bigshift/cli.rb', line 173

def redshift_unloader
  @redshift_unloader ||= RedshiftUnloader.new(rs_connection, aws_credentials, logger: logger)
end

#s3_resourceObject



193
194
195
196
197
198
# File 'lib/bigshift/cli.rb', line 193

def s3_resource
  @s3_resource ||= Aws::S3::Resource.new(
    region: aws_region,
    credentials: aws_credentials
  )
end