module BitClipboardPaste

takeltau bit clipboard paste

Public Instance Methods

bit_clipboard_paste(cid, dir) click to toggle source

Backend method for bit paste.

# File lib/takeltau/bit/clipboard/paste.rb, line 6
def bit_clipboard_paste(cid, dir)
  log.info "Running bit paste \"#{cid}\" to \"#{dir}\""

  return false unless configured? %w[project_root_dir]

  return false unless _bit_clipboard_lib_prepare_workspace

  return false unless _bit_clipboard_paste_cid_exists? cid

  _bit_clipboard_paste_import_cid cid, dir
  _bit_clipbpard_lib_remove_bit_artifacts
  _bit_clipboard_lib_sync_workspace

  log.info "Pasted bit component \"#{cid}\" to directory \"#{dir}\""
  true
end

Private Instance Methods

_bit_clipboard_paste_cid_exists?(cid) click to toggle source

Check if remote component exists.

# File lib/takeltau/bit/clipboard/paste.rb, line 37
def _bit_clipboard_paste_cid_exists?(cid)
  scope = cid.scan(%r{([^/]*).*}).first.first

  log.debug "Checking if scope \"#{scope}\" " \
            "contains component id \"#{cid}\""

  bit_list_scope = _bit_clipboard_paste_cid_exists_list_scope scope

  return true if bit_list_scope.include? "\"id\": \"#{cid}\","

  log.error "No remote component \"#{cid}\""
  false
end
_bit_clipboard_paste_cid_exists_list_scope(scope) click to toggle source

Get components in remote scope.

# File lib/takeltau/bit/clipboard/paste.rb, line 52
def _bit_clipboard_paste_cid_exists_list_scope(scope)
  cmd_bit_list_scope = format(
    config.active['cmd_bit_clipboard_paste_bit_list_scope'],
    scope: scope
  )

  run cmd_bit_list_scope
end
_bit_clipboard_paste_import_cid(cid, dir) click to toggle source

paste bit component into directory.

# File lib/takeltau/bit/clipboard/paste.rb, line 26
def _bit_clipboard_paste_import_cid(cid, dir)
  cmd_bit_import_cid = format(
    config.active['cmd_bit_clipboard_paste_bit_import_cid'],
    cid: cid,
    dir: dir
  )

  run cmd_bit_import_cid
end