module BitClipboardCopy
takeltau bit clipboard copy
Public Instance Methods
bit_clipboard_copy(dir, scope)
click to toggle source
Backend method for bit copy.
# File lib/takeltau/bit/clipboard/copy.rb, line 6 def bit_clipboard_copy(dir, scope) # remove trailing slash dir = dir.chomp('/') log.info "Running bit copy \"#{dir}\" to \"#{scope}\"" return false unless configured? %w[project_root_dir] return false unless _bit_clipboard_lib_prepare_workspace unless File.directory? dir log.error "The directory \"#{dir}\" does not exist" return false end _bit_clipboard_copy_dir dir, scope end
Private Instance Methods
_bit_clipboard_bit_dev_scope_exists(scope)
click to toggle source
Check if bit.dev remote scope exists.
# File lib/takeltau/bit/clipboard/copy.rb, line 84 def _bit_clipboard_bit_dev_scope_exists(scope) cmd_bit_list_scope = format( config.active['cmd_bit_clipboard_copy_bit_list_scope'], scope: scope ) status = try cmd_bit_list_scope return true if status.exitstatus.zero? log.error "No bit.dev remote scope \"#{scope}\" found" false end
_bit_clipboard_copy_add_dir(id, dir)
click to toggle source
bit tag dir.
# File lib/takeltau/bit/clipboard/copy.rb, line 113 def _bit_clipboard_copy_add_dir(id, dir) cmd_bit_add_dir = format( config.active['cmd_bit_clipboard_copy_bit_add_dir'], id: id, dir: dir ) run cmd_bit_add_dir end
_bit_clipboard_copy_dir(dir, scope)
click to toggle source
rubocop:disable Metrics/MethodLength
# File lib/takeltau/bit/clipboard/copy.rb, line 27 def _bit_clipboard_copy_dir(dir, scope) log.debug "Adding the directory \"#{dir}\" as a tagged bit component" return false unless _bit_clipboard_copy_dir_scope_exists? scope return false if _bit_clipboard_copy_readme_bit_exists_in_subdir? dir id = _bit_clipboard_lib_id(dir) _bit_clipboard_copy_touch_readme_bit dir _bit_clipboard_copy_add_dir id, dir _bit_clipboard_copy_tag_dir id _bit_clipboard_copy_export_to_scope scope _bit_clipbpard_lib_remove_bit_artifacts _bit_clipboard_lib_sync_workspace log.info "Copied directory \"#{dir}\" as bit component \"#{id}\" " \ "to bit remote scope \"#{scope}\"" end
_bit_clipboard_copy_dir_scope_exists?(scope)
click to toggle source
Check if bit scope exists.
# File lib/takeltau/bit/clipboard/copy.rb, line 70 def _bit_clipboard_copy_dir_scope_exists?(scope) bit_dev = config.active['bit_dev_user'] # check if scope is a candidate for a bit.dev remote scope if scope.start_with? "#{bit_dev}." return false unless _bit_clipboard_bit_dev_scope_exists scope else return false unless _bit_clipboard_custom_scope_exists scope end true end
_bit_clipboard_copy_export_to_scope(scope)
click to toggle source
bit export component to bit remote scope.
# File lib/takeltau/bit/clipboard/copy.rb, line 134 def _bit_clipboard_copy_export_to_scope(scope) cmd_bit_export_to_scope = format( config.active['cmd_bit_clipboard_copy_bit_export_to_scope'], scope: scope ) run cmd_bit_export_to_scope end
_bit_clipboard_copy_readme_bit_exists_in_subdir?(dir)
click to toggle source
Check if a README.bit file exists in a subdirectory.
# File lib/takeltau/bit/clipboard/copy.rb, line 58 def _bit_clipboard_copy_readme_bit_exists_in_subdir?(dir) Dir.glob("#{dir}/**/README.bit").each do |file| unless file == "#{dir}/README.bit" log.error 'Nested README.bit file detected' return true end end false end
_bit_clipboard_copy_tag_dir(id)
click to toggle source
bit tag dir.
# File lib/takeltau/bit/clipboard/copy.rb, line 124 def _bit_clipboard_copy_tag_dir(id) cmd_bit_tag_id = format( config.active['cmd_bit_clipboard_copy_bit_tag_id'], id: id ) run cmd_bit_tag_id end
_bit_clipboard_copy_touch_readme_bit(dir)
click to toggle source
Touch README.bit if necessary.
# File lib/takeltau/bit/clipboard/copy.rb, line 49 def _bit_clipboard_copy_touch_readme_bit(dir) readme_bit = "#{dir}/README.bit" return if File.file? readme_bit log.info "Creating \"README.bit\" in \"#{dir}\"" File.open(readme_bit, 'w') {} end
_bit_clipboard_custom_scope_exists(scope)
click to toggle source
Check if bit remote scope is added to local workspace.
# File lib/takeltau/bit/clipboard/copy.rb, line 99 def _bit_clipboard_custom_scope_exists(scope) cmd_bit_list_remotes = config.active['cmd_bit_clipboard_copy_bit_list_remotes'] stdout_str = run cmd_bit_list_remotes return true if /.*\s+#{scope}\s+.*/m.match? stdout_str log.error "No bit remote scope \"#{scope}\" " \ 'found in local bit workspace' false end