Class: BigShift::Factory
- Inherits:
-
Object
- Object
- BigShift::Factory
- Defined in:
- lib/bigshift/cli.rb
Instance Method Summary collapse
- #big_query_dataset ⇒ Object
- #cleaner ⇒ Object
- #cloud_storage_transfer ⇒ Object
- #create_unload_manifest(s3_bucket_name, s3_table_prefix) ⇒ Object
-
#initialize(config) ⇒ Factory
constructor
A new instance of Factory.
- #logger ⇒ Object
- #redshift_table_schema ⇒ Object
- #redshift_unloader ⇒ Object
- #s3_resource ⇒ Object
Constructor Details
permalink #initialize(config) ⇒ Factory
Returns a new instance of Factory.
189 190 191 |
# File 'lib/bigshift/cli.rb', line 189 def initialize(config) @config = config end |
Instance Method Details
permalink #big_query_dataset ⇒ Object
[View source]
205 206 207 |
# File 'lib/bigshift/cli.rb', line 205 def big_query_dataset @big_query_dataset ||= BigQuery::Dataset.new(bq_service, gcp_project, @config[:bq_dataset_id], logger: logger) end |
permalink #cleaner ⇒ Object
[View source]
209 210 211 |
# File 'lib/bigshift/cli.rb', line 209 def cleaner @cleaner ||= Cleaner.new(s3_resource, cs_service, logger: logger) end |
permalink #cloud_storage_transfer ⇒ Object
[View source]
197 198 199 |
# File 'lib/bigshift/cli.rb', line 197 def cloud_storage_transfer @cloud_storage_transfer ||= CloudStorageTransfer.new(cs_transfer_service, gcp_project, aws_credentials, logger: logger) end |
permalink #create_unload_manifest(s3_bucket_name, s3_table_prefix) ⇒ Object
[View source]
224 225 226 |
# File 'lib/bigshift/cli.rb', line 224 def create_unload_manifest(s3_bucket_name, s3_table_prefix) UnloadManifest.new(s3_resource, cs_service, @config[:s3_bucket_name], s3_table_prefix) end |
permalink #logger ⇒ Object
[View source]
220 221 222 |
# File 'lib/bigshift/cli.rb', line 220 def logger @logger ||= Logger.new($stderr) end |
permalink #redshift_table_schema ⇒ Object
[View source]
201 202 203 |
# File 'lib/bigshift/cli.rb', line 201 def redshift_table_schema @redshift_table_schema ||= RedshiftTableSchema.new(@config[:rs_schema_name], @config[:rs_table_name], create_rs_connection) end |
permalink #redshift_unloader ⇒ Object
[View source]
193 194 195 |
# File 'lib/bigshift/cli.rb', line 193 def redshift_unloader @redshift_unloader ||= RedshiftUnloader.new(create_rs_connection, aws_credentials, logger: logger) end |
permalink #s3_resource ⇒ Object
[View source]
213 214 215 216 217 218 |
# File 'lib/bigshift/cli.rb', line 213 def s3_resource @s3_resource ||= Aws::S3::Resource.new( region: aws_region, credentials: aws_credentials ) end |