module BitRequireExport

takelage bit require export

Public Instance Methods

bit_require_export() click to toggle source

Backend method for bit require export.

# File lib/takelage/bit/require/export.rb, line 6
def bit_require_export
  log.debug 'Running bit require export'

  return false unless configured? %w[project_root_dir]

  components = _bit_require_lib_get_components
  bitrequire_yml = _bit_require_export_get_bitrequire_yml components

  log.debug "bitrequire.yml of this project:\n#{bitrequire_yml}"
  bitrequire_yml
end

Private Instance Methods

_bit_require_export_get_bitrequire_yml(components) click to toggle source

Create contents of bitrequire yaml file. rubocop:disable Metrics/AbcSize

# File lib/takelage/bit/require/export.rb, line 22
def _bit_require_export_get_bitrequire_yml(components)
  bitrequire = {}
  components.each do |component|
    scope = component['id'].clone.gsub!(%r{/.*}, '')
    name = component['id'].clone.gsub!(%r{#{scope}/}, '')
    bitrequire['scopes'] = { scope => [] } if bitrequire['scopes'].nil?
    bitrequire['scopes'][scope] = [] unless bitrequire['scopes'].key? scope
    bitrequire['scopes'][scope] << { 'name' => name }
  end
  hash_to_yaml bitrequire
end