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
#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_dataset ⇒ Object
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 |
#cleaner ⇒ Object
189 190 191 |
# File 'lib/bigshift/cli.rb', line 189 def cleaner @cleaner ||= Cleaner.new(s3_resource, cs_service, logger: logger) end |
#cloud_storage_transfer ⇒ Object
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 |
#logger ⇒ Object
200 201 202 |
# File 'lib/bigshift/cli.rb', line 200 def logger @logger ||= Logger.new($stderr) end |
#redshift_table_schema ⇒ Object
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_unloader ⇒ Object
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_resource ⇒ Object
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 |