27 lines
557 B
Ruby
27 lines
557 B
Ruby
# frozen_string_literal: true
|
|
|
|
module BulkImports
|
|
class Stage
|
|
def initialize(bulk_import)
|
|
raise(ArgumentError, 'Expected an argument of type ::BulkImport') unless bulk_import.is_a?(::BulkImport)
|
|
|
|
@bulk_import = bulk_import
|
|
end
|
|
|
|
def pipelines
|
|
@pipelines ||= config
|
|
.values
|
|
.sort_by { |entry| entry[:stage] }
|
|
.map do |entry|
|
|
[entry[:stage], entry[:pipeline]]
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def config
|
|
# To be implemented in a sub-class
|
|
NotImplementedError
|
|
end
|
|
end
|
|
end
|