module Pipedream::Dsl::Pipeline::Codebuild
Public Instance Methods
codebuild(*projects)
click to toggle source
# File lib/pipedream/dsl/pipeline/codebuild.rb, line 3 def codebuild(*projects) default = { # name: '', # will be set action_type_id: { category: "Build", owner: "AWS", provider: "CodeBuild", version: "1", }, run_order: @run_order, # configuration: { project_name: '' }, # will be set # output_artifacts: [name: "BuildArtifact#{name}"], # TODO: maybe make this configurable with a setting input_artifacts: [name: "SourceArtifact"], } actions = projects.map do |item| if item.is_a?(String) name = item default.deep_merge( name: name, configuration: { project_name: item }, ) else # Hash # With the hash notation, user needs to set: name and project_name # # codebuild(name: "action-name", project_name: "codebuild-project-names") # project_name = item.delete(:project_name) if project_name item[:configuration] = { project_name: project_name } end item.reverse_merge(default) end end action(*actions) end