module BitRequireImport
takelage bit require import
Public Instance Methods
bit_require_import()
click to toggle source
Backend method for bit require import.
# File lib/takelage/bit/require/import.rb, line 6 def bit_require_import log.debug 'Running bit require import' return false unless configured? %w[project_root_dir] return false unless _bit_clipboard_lib_prepare_workspace return false unless _bit_require_import_check_require_file_exists scopes = _bit_require_import_get_scopes_and_components return false unless scopes components = _bit_require_import_get_components scopes return false unless components return false unless _bit_require_import_add_scopes scopes _bit_require_import_paste_components components end
Private Instance Methods
_bit_require_import_add_scopes(scopes)
click to toggle source
Add bit scopes to workspace.
# File lib/takelage/bit/require/import.rb, line 81 def _bit_require_import_add_scopes(scopes) scopes.each do |scope, _components| bit_scope_add scope unless _bit_clipboard_bit_dev_scope_exists scope end end
_bit_require_import_check_component_exists(component, path)
click to toggle source
Check if there are bit components
# File lib/takelage/bit/require/import.rb, line 103 def _bit_require_import_check_component_exists(component, path) scope = component[:scope] cid = component[:name] dir = component[:path] dest = "#{path}/#{dir}" cids = _bit_require_lib_get_components_ids return false unless cids.include? "#{scope}/#{cid}" log.warn "Skipping existing bit component \"#{scope}/#{cid}\" with path \"#{dest}\"" true end
_bit_require_import_check_component_valid(component, scope)
click to toggle source
Check if there are bit components
# File lib/takelage/bit/require/import.rb, line 73 def _bit_require_import_check_component_valid(component, scope) return true if component.instance_of?(Hash) && component.key?('name') log.error "No component in #{scope}" false end
_bit_require_import_check_require_file_exists()
click to toggle source
Check if a bit requirements file exists.
# File lib/takelage/bit/require/import.rb, line 29 def _bit_require_import_check_require_file_exists return true if File.exist? @bit_require_file log.error "No #{@bit_require_file} file found" false end
_bit_require_import_commit_component(component, path)
click to toggle source
Commit a bit component
# File lib/takelage/bit/require/import.rb, line 124 def _bit_require_import_commit_component(component, path) scope = component[:scope] cid = component[:name] dir = component[:path] dest = "#{path}/#{dir}" message = "Add bit component \"#{scope}/#{cid}\" to path \"#{dest}\"" _bit_clipboard_lib_git_add dest _bit_clipboard_lib_git_commit message end
_bit_require_import_get_components(scopes)
click to toggle source
Get flat components array.
# File lib/takelage/bit/require/import.rb, line 46 def _bit_require_import_get_components(scopes) components_all = [] scopes.each do |scope, components| scope_components = _bit_require_import_get_scope_components scope, components return false unless scope_components components_all |= scope_components end components_all end
_bit_require_import_get_scope_components(scope, components)
click to toggle source
Get bit components of a scope.
# File lib/takelage/bit/require/import.rb, line 58 def _bit_require_import_get_scope_components(scope, components) scope_components = [] components.each do |component| return false unless _bit_require_import_check_component_valid component, scope name = component['name'] path = name path = component['path'] if component.key?('path') scope_components << { name: name, path: path, scope: scope } log.debug "Identified bit component \"#{name}\" with path \"#{path}\" in scope \"#{scope}\"" end scope_components end
_bit_require_import_get_scopes_and_components()
click to toggle source
Get scopes and components from requirements file.
# File lib/takelage/bit/require/import.rb, line 37 def _bit_require_import_get_scopes_and_components bit_require = read_yaml_file(@bit_require_file) return bit_require['scopes'] if bit_require.key?('scopes') log.error "No scopes in #{@bit_require_file} file" false end
_bit_require_import_paste_component(component)
click to toggle source
Paste a bit component
# File lib/takelage/bit/require/import.rb, line 116 def _bit_require_import_paste_component(component) scope = component[:scope] cid = component[:name] dir = component[:path] bit_clipboard_paste "#{scope}/#{cid}", dir end
_bit_require_import_paste_components(components)
click to toggle source
Paste bit components.
# File lib/takelage/bit/require/import.rb, line 88 def _bit_require_import_paste_components(components) path = config.active['project_root_dir'] return false if path.empty? components.each do |component| next if _bit_require_import_check_component_exists component, path return false unless _bit_require_import_paste_component component _bit_require_import_commit_component component, path end true end