Module: BranchDb::Naming

Extended by:
GitUtils
Defined in:
lib/branch_db/naming.rb

Class Method Summary collapse

Methods included from GitUtils

current_branch, git_branches, parent_branch, reset_parent_cache!

Class Method Details

.branch_suffixObject



15
# File 'lib/branch_db/naming.rb', line 15

def branch_suffix = suffix_for(current_branch)

.database_name(base_name) ⇒ Object



8
9
10
11
12
13
# File 'lib/branch_db/naming.rb', line 8

def database_name(base_name)
  override = override_for(base_name)
  return override if override && !override.empty?

  "#{base_name}#{branch_suffix}"
end

.main_database_name(base_name) ⇒ Object



6
# File 'lib/branch_db/naming.rb', line 6

def main_database_name(base_name) = "#{base_name}#{suffix_for(BranchDb.configuration.main_branch)}"

.parent_database_name(base_name) ⇒ Object



24
# File 'lib/branch_db/naming.rb', line 24

def parent_database_name(base_name) = "#{base_name}_#{sanitize_branch(parent_branch)}"

.sanitize_branch(branch) ⇒ Object



26
# File 'lib/branch_db/naming.rb', line 26

def sanitize_branch(branch) = branch.gsub(/[^a-zA-Z0-9_]/, "_")

.suffix_for(branch) ⇒ Object



17
18
19
20
21
22
# File 'lib/branch_db/naming.rb', line 17

def suffix_for(branch)
  branch = sanitize_branch(branch)
  max_length = BranchDb.configuration.max_branch_length
  truncated = branch[0, max_length]
  truncated.empty? ? "" : "_#{truncated}"
end