Sha256: d5e606229d9c41a6135437c3df31d487ab0c821f25f164db10f3869ca939c783

Contents?: true

Size: 1.65 KB

Versions: 6

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

# tau ship info lib
module ShipInfoLib
  private

  # Gather takelship information
  def _ship_info_lib_get_takelshipinfo
    log.debug 'Gathering takelship info'
    takelshipinfo = _ship_info_lib_get_info_from_file
    takelshipinfo = _ship_info_lib_get_info_from_docker if takelshipinfo.empty?
    return false unless takelshipinfo

    takelshipinfo
  end

  # Read takelship info from file
  def _ship_info_lib_get_info_from_file
    log.debug 'Reading takelship info from file'
    ship_data_dir = config.active['ship_data_dir']
    yaml_file = format(
      config.active['ship_takelship_yml'],
      pwd: Dir.getwd,
      ship_data_dir: ship_data_dir
    )
    read_yaml_file(yaml_file) || {}
  end

  # Read takelship info from docker run
  def _ship_info_lib_get_info_from_docker
    log.debug 'Reading takelship info from takelship container'
    command = 'info'
    _parse_yaml _ship_container_lib_docker_nonprivileged(command) || {}
  end

  def _ship_info_lib_get_project(project, takelship)
    return '' unless takelship.instance_of?(Hash)

    return '' unless takelship.key? 'default_project'

    project = config.active['ship_default_project'] if project == 'default'
    project = takelship['default_project'] if project == 'default'
    project
  end

  def _ship_info_lib_valid_project?(takelship, project)
    valid_project = false
    return false unless takelship.instance_of?(Hash)

    return false unless takelship.key? 'projects'

    takelship_projects = takelship['projects']
    takelship_projects.each do |takelship_project|
      valid_project = true if project == takelship_project['name']
    end
    valid_project
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
takeltau-0.46.9 lib/takeltau/ship/info/lib.rb
takeltau-0.46.8 lib/takeltau/ship/info/lib.rb
takeltau-0.46.5 lib/takeltau/ship/info/lib.rb
takeltau-0.46.1 lib/takeltau/ship/info/lib.rb
takeltau-0.46.0 lib/takeltau/ship/info/lib.rb
takeltau-0.45.27 lib/takeltau/ship/info/lib.rb