class Blitline::Function

Attributes

functions[RW]
name[RW]
params[RW]
save[RW]

Public Class Methods

new(name, params = nil) click to toggle source
# File lib/blitline/function.rb, line 6
def initialize(name, params = nil)
  @name = name
  @params = params unless params.nil?
  @functions = []
end

Public Instance Methods

add_function(function_name, function_params) click to toggle source
# File lib/blitline/function.rb, line 20
def add_function(function_name, function_params)
  function = Blitline::Function.new(function_name, function_params)
  @functions << function
  return function
end
add_save(image_identifier, s3_key = nil, s3_bucket = nil, headers = {}) click to toggle source
# File lib/blitline/function.rb, line 12
def add_save(image_identifier, s3_key = nil, s3_bucket = nil, headers = {})
  save = Blitline::Save.new(image_identifier)
  if s3_key && s3_bucket
    save.add_s3_destination(s3_key, s3_bucket, headers)
  end
  @save = save
end
validate() click to toggle source
# File lib/blitline/function.rb, line 26
def validate
  raise "Function must have a name" if @name.nil?
  raise "Params must be a hash" if @params && !@params.is_a?(Hash)
  @save.validate if @save
  @functions.each { |f| f.validate } if @functions
end