Class: Lexicon::Common::Package::V2::PackageBuilder
- Defined in:
- lib/lexicon/common/package/v2/package_builder.rb
Constant Summary
Constants inherited from Package
Package::CHECKSUM_FILE_NAME, Package::SPEC_FILE_NAME
Instance Attribute Summary
Attributes inherited from Package
Attributes inherited from Package
#checksum_file, #dir, #schema_version, #spec_file, #version
Instance Method Summary collapse
- #add_file_set(id, name:, structure:, tables:) ⇒ Object
- #as_package ⇒ Object
-
#initialize(version:, dir:) ⇒ PackageBuilder
constructor
A new instance of PackageBuilder.
Methods inherited from Package
Methods inherited from Package
Constructor Details
#initialize(version:, dir:) ⇒ PackageBuilder
Returns a new instance of PackageBuilder.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/lexicon/common/package/v2/package_builder.rb', line 8 def initialize(version:, dir:) super( file_sets: [], version: version, dir: dir, checksum_file: dir.join(CHECKSUM_FILE_NAME), spec_file: dir.join(SPEC_FILE_NAME), ) FileUtils.mkdir_p(data_dir) end |
Instance Method Details
#add_file_set(id, name:, structure:, tables:) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/lexicon/common/package/v2/package_builder.rb', line 26 def add_file_set(id, name:, structure:, tables:) # @type [Pathname] structure_file_path structure_file_path = data_dir.join(structure_file_name(id)) FileUtils.mv(structure.to_s, structure_file_path.to_s) table_data = tables.map do |table_name, files| index = 0 file_names = files.map do |file| file_name = "#{table_name}_#{index}.csv.gz" FileUtils.mv(file.to_s, data_dir.join(file_name)) index += 1 file_name end [table_name, file_names] end file_sets << SourceFileSet.new( id: id, name: name, structure: structure_file_name(id), tables: table_data.to_h ) end |