class LambdaDeployment::Lambda::Release

Public Class Methods

new(config) click to toggle source
# File lib/lambda_deployment/lambda/release.rb, line 4
def initialize(config)
  @config = config
  @client = LambdaDeployment::Client.new(config.region)
end

Public Instance Methods

run() click to toggle source
# File lib/lambda_deployment/lambda/release.rb, line 9
def run
  version = version_for_tag
  update_production_alias(version)
end

Private Instance Methods

update_production_alias(version) click to toggle source
# File lib/lambda_deployment/lambda/release.rb, line 27
def update_production_alias(version)
  @client.lambda_client.update_alias(
    function_name: @config.project,
    function_version: version,
    name: 'production'
  )
end
version_for_tag() click to toggle source
# File lib/lambda_deployment/lambda/release.rb, line 16
def version_for_tag
  if @config.alias_name
    @client.lambda_client.get_alias(
      function_name: @config.project,
      name: @config.alias_name
    ).function_version
  else
    '$LATEST'
  end
end