Class: Metanorma::Mirror::Output::Pipeline

Inherits:
Object
  • Object
show all
Defined in:
lib/metanorma/mirror/output/pipeline.rb

Defined Under Namespace

Modules: Steps

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(xml_path:, steps: nil, flavor: nil, title: nil, id_strategy: nil) ⇒ Pipeline

Returns a new instance of Pipeline.



9
10
11
12
13
14
15
16
17
18
# File 'lib/metanorma/mirror/output/pipeline.rb', line 9

def initialize(xml_path:, steps: nil, flavor: nil, title: nil,
id_strategy: nil)
  @steps = steps || [Steps::ParseXml, Steps::TransformMirror, Steps::AttachMetadata]
  @context = PipelineContext.new(
    xml_path: xml_path,
    flavor: flavor,
    title: title || File.basename(xml_path, ".*"),
    id_strategy: id_strategy,
  )
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



7
8
9
# File 'lib/metanorma/mirror/output/pipeline.rb', line 7

def context
  @context
end

#stepsObject (readonly)

Returns the value of attribute steps.



7
8
9
# File 'lib/metanorma/mirror/output/pipeline.rb', line 7

def steps
  @steps
end

Instance Method Details

#processObject



20
21
22
23
24
25
26
27
# File 'lib/metanorma/mirror/output/pipeline.rb', line 20

def process
  @steps.each { |step_class| step_class.new.call(@context) }
  Model::Guide.new(
    content: @context.content,
    meta: @context.meta,
    title: @context.title,
  )
end