class AwDatapipe::SourceWriter
Writes a Pipeline
definition into a ruby script.
Attributes
pipeline[R]
Public Class Methods
call(pipeline, pathname)
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 4 def self.call(pipeline, pathname) new(pipeline).call(pathname) end
new(pipeline)
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 11 def initialize(pipeline) @pipeline = pipeline end
Public Instance Methods
call(pathname)
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 15 def call(pathname) File.write(pathname, source) end
source()
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 19 def source [ header_source, objects_source, parameter_metadata_source, parameter_values_source, footer_source ].join("\n") end
Protected Instance Methods
header_source()
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 31 def header_source <<-EOF # Generated by aw_datapipe download_definition of #{pipeline.id} require 'aw_datapipe' EOF end
objects_source()
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 38 def objects_source object_ids = objects.keys unreferenced_object_ids = object_ids - referenced_object_ids s = referenced_object_ids.map { |id| "#{id} = #{objects[id].source}" }.join("\n\n") s << "\n\nactivities = [\n" s << unreferenced_object_ids.map { |id| " #{objects[id].source(2)}" }.join(",\n") s << "\n]" end
parameter_metadata_source()
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 47 def parameter_metadata_source "parameter_metadata = {\n " << parameter_metadata.sort.map do |key, value| "\"#{key}\" => #{value.source}" end.join(",\n ") << "\n}\n" end
parameter_values_source()
click to toggle source
# File lib/aw_datapipe/source_writer.rb, line 53 def parameter_values_source "parameter_values = {\n " << parameter_values.sort.map do |key, value| "\"#{key}\" => #{value.inspect}" end.join(",\n ") << "\n}\n" end