module PuppetHerald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

A module for Herald

Constants

DESCRIPTION

A description info

HOMEPAGE

A homepage for Herald

LICENSE

Lincense for Herald

NAME

Project name

PACKAGE

Package (gem) for Herald

SUMMARY

A summary info

VERSION

Version for Herald

Attributes

errlogger[R]

Logger for CLI interface (error) @return [Logger] logger for CLI

logger[R]

Logger for CLI interface @return [Logger] logger for CLI

Public Class Methods

bug(ex) click to toggle source

Reports a bug in desired format

@param ex [Exception] an exception that was thrown @return [Hash] a hash with info about bug to be displayed to user

# File lib/puppet-herald.rb, line 98
def bug(ex)
  file = Tempfile.new(['puppet-herald-bug', '.log'])
  filepath = file.path
  file.close
  file.unlink
  message = "v#{PuppetHerald::VERSION}-#{ex.class}: #{ex.message}"
  contents = message + "\n\n" + ex.backtrace.join("\n") + "\n"
  File.write(filepath, contents)
  bugo = {
    message: message,
    homepage: PuppetHerald::HOMEPAGE,
    bugfile: filepath,
    help: "Please report this bug to #{PuppetHerald::HOMEPAGE} by passing contents of bug file: #{filepath}"
  }
  bugo
end
database() click to toggle source

A database object @return [PuppetHerald::Database] a database object

# File lib/puppet-herald.rb, line 28
def database  # rubocop:disable Style/TrivialAccessors
  @database
end
environment() click to toggle source

Gets the environment set for Herald

@return [Symbol] an environment

# File lib/puppet-herald.rb, line 59
def environment
  ENV['PUPPET_HERALD_ENV'] = :production.to_s if ENV['PUPPET_HERALD_ENV'].nil?
  ENV['PUPPET_HERALD_ENV'].to_sym
end
environment=(newenv) click to toggle source
# File lib/puppet-herald.rb, line 40
def environment=(newenv)
  envsymbol = newenv.to_s.to_sym
  ENV['PUPPET_HERALD_ENV'] = envsymbol.to_s
  rackenv
  setup_logger
end
in_dev?() click to toggle source

Checks is running in DEVELOPMENT kind of environment (dev, ci, test)

@return [Boolean] true if runs in development

# File lib/puppet-herald.rb, line 83
def in_dev?
  [:development, :dev, :test, :ci].include? environment
end
in_prod?() click to toggle source

Checks is running in production environment

@return [Boolean] true if runs in production

# File lib/puppet-herald.rb, line 90
def in_prod?
  !in_dev?
end
rackenv() click to toggle source

Rack environment

@return [Symbol] Rack environment

# File lib/puppet-herald.rb, line 67
def rackenv
  case environment
  when :dev, :development
    rackenv = :development
  when :test, :ci
    rackenv = :test
  else
    rackenv = :production
  end
  ENV['RACK_ENV'] = rackenv.to_s
  rackenv
end
relative_dir(dir) click to toggle source

Calculates a replative directory inside the project

@param dir [String] a sub directory @return [String] a full path to replative dir

# File lib/puppet-herald.rb, line 36
def relative_dir(dir)
  File.realpath(File.join @root, dir)
end
setup_logger() click to toggle source

Setups logger’s level

@return [nil]

# File lib/puppet-herald.rb, line 50
def setup_logger
  logger.level = self.in_dev? ? Logger::DEBUG : Logger::INFO
  errlogger.level = logger.level
  nil
end
version_prep(desired) click to toggle source

Prepare version

@param desired [String] a desired version @return [String] a prepared version

# File lib/puppet-herald/version.rb, line 7
def self.version_prep(desired)
  version = desired
  if desired.match(/[^0-9\.]+/)
    git = `git describe --tags --dirty --always`
    version += '.' + git.gsub('-', '.')
  end
  version.strip
end