class Ufo::DSL::Helper

Public Instance Methods

add_project_helpers() click to toggle source

Add helpers from .ufo/helpers folder

# File lib/ufo/dsl/helper.rb, line 14
def add_project_helpers
  helpers_dir = "#{Ufo.root}/.ufo/helpers"
  Dir.glob("#{helpers_dir}/**/*").each do |path|
    next unless File.file?(path)
    klass = path.gsub(%r{.*\.ufo/helpers/},'').sub(".rb",'').camelize
    self.class.send(:include, klass.constantize)
  end
end
current_region() click to toggle source
# File lib/ufo/dsl/helper.rb, line 56
def current_region
  default_region = 'us-east-1'
  return default_region if ENV['TEST']

  return ENV['UFO_AWS_REGION'] if ENV['UFO_AWS_REGION'] # highest precedence
  return ENV['AWS_REGION'] if ENV['AWS_REGION']

  region = `aws configure get region`.strip rescue default_region
  region.blank? ? default_region : region
end
dockerfile_port() click to toggle source

helper variables

# File lib/ufo/dsl/helper.rb, line 25
def dockerfile_port
  dockerfile_path = "#{Ufo.root}/Dockerfile"
  if File.exist?(dockerfile_path)
    parse_for_dockerfile_port(dockerfile_path)
  end
end
env(text) click to toggle source

helper methods

# File lib/ufo/dsl/helper.rb, line 39
def env(text)
  Vars.new(text: text).env
end
Also aliased as: env_vars
env_file(path) click to toggle source
# File lib/ufo/dsl/helper.rb, line 44
def env_file(path)
  Vars.new(file: path).env
end
env_vars(text)
Alias for: env
full_image_name() click to toggle source
# File lib/ufo/dsl/helper.rb, line 32
def full_image_name
  # Dont need to use @options here. Helps simplify the Helper initialization.
  Docker::Builder.new({}).full_image_name
end
parse_for_dockerfile_port(dockerfile_path) click to toggle source
# File lib/ufo/dsl/helper.rb, line 67
def parse_for_dockerfile_port(dockerfile_path)
  lines = IO.read(dockerfile_path).split("\n")
  expose_line = lines.find { |l| l =~ /^EXPOSE / }
  if expose_line
    md = expose_line.match(/EXPOSE (\d+)/)
    port = md[1] if md
  end
  port.to_i if port
end
secrets(text) click to toggle source
# File lib/ufo/dsl/helper.rb, line 48
def secrets(text)
  Vars.new(text: text).secrets
end
secrets_file(path) click to toggle source
# File lib/ufo/dsl/helper.rb, line 52
def secrets_file(path)
  Vars.new(file: path).secrets
end