Module: Pipely

Defined in:
lib/pipely.rb,
lib/pipely/build.rb,
lib/pipely/tasks.rb,
lib/pipely/actions.rb,
lib/pipely/bundler.rb,
lib/pipely/options.rb,
lib/pipely/version.rb,
lib/pipely/component.rb,
lib/pipely/s3_writer.rb,
lib/pipely/definition.rb,
lib/pipely/dependency.rb,
lib/pipely/runs_report.rb,
lib/pipely/tasks/graph.rb,
lib/pipely/tasks/deploy.rb,
lib/pipely/deploy/client.rb,
lib/pipely/graph_builder.rb,
lib/pipely/live_pipeline.rb,
lib/pipely/build/template.rb,
lib/pipely/bundler/bundle.rb,
lib/pipely/reference_list.rb,
lib/pipely/build/definition.rb,
lib/pipely/deploy/bootstrap.rb,
lib/pipely/tasks/definition.rb,
lib/pipely/deploy/s3_uploader.rb,
lib/pipely/tasks/upload_steps.rb,
lib/pipely/bundler/project_gem.rb,
lib/pipely/bundler/gem_packager.rb,
lib/pipely/build/daily_scheduler.rb,
lib/pipely/build/s3_path_builder.rb,
lib/pipely/build/hourly_scheduler.rb,
lib/pipely/build/template_helpers.rb,
lib/pipely/deploy/json_definition.rb,
lib/pipely/build/environment_config.rb,
lib/pipely/deploy/bootstrap_context.rb,
lib/pipely/build/right_now_scheduler.rb,
lib/pipely/deploy/bootstrap_registry.rb,
lib/pipely/actions/graph_file_pipeline.rb,
lib/pipely/actions/graph_live_pipeline.rb,
lib/pipely/actions/list_live_pipelines.rb,
lib/pipely/tasks/upload_pipeline_as_gem.rb,
lib/pipely/pipeline_date_time/pipeline_date.rb,
lib/pipely/pipeline_date_time/pipeline_day_range.rb,
lib/pipely/pipeline_date_time/pipeline_year_range.rb,
lib/pipely/pipeline_date_time/pipeline_month_range.rb,
lib/pipely/pipeline_date_time/pipeline_date_pattern.rb,
lib/pipely/pipeline_date_time/pipeline_date_range_base.rb

Overview

The top-level module for this gem. It provides the recommended public interface for using Pipely to visualize and manipulate your Data Pipeline definitions.

Defined Under Namespace

Modules: Actions, Build, Bundler, Deploy, PipelineDateTime, Tasks Classes: Component, Definition, Dependency, GraphBuilder, LivePipeline, Options, ReferenceList, RunsReport, S3Writer

Constant Summary collapse

VERSION =
'0.14.1'

Class Method Summary collapse

Class Method Details

.draw(definition_json, filename, component_attributes = nil) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pipely.rb', line 16

def self.draw(definition_json, filename, component_attributes=nil)
  definition = Definition.parse(definition_json)

  if component_attributes
    definition.apply_component_attributes(component_attributes)
  end

  graph_builder = GraphBuilder.new

  graph = graph_builder.build(definition.components_for_graph)

  if filename.start_with?('s3://')
    content = graph.output( :png => String )
    S3Writer.new(filename).write(content)
  else
    graph.output( :png => filename )
    filename
  end
end