class Sem::SRN

Public Class Methods

parse_org(semaphore_resource_name) click to toggle source
# File lib/sem/srn.rb, line 5
def parse_org(semaphore_resource_name)
  parse_srn(semaphore_resource_name, "org_name")
end
parse_project(semaphore_resource_name) click to toggle source
# File lib/sem/srn.rb, line 13
def parse_project(semaphore_resource_name)
  parse_srn(semaphore_resource_name, "org_name/project_name")
end
parse_secret(semaphore_resource_name) click to toggle source
# File lib/sem/srn.rb, line 17
def parse_secret(semaphore_resource_name)
  parse_srn(semaphore_resource_name, "org_name/secret_name")
end
parse_team(semaphore_resource_name) click to toggle source
# File lib/sem/srn.rb, line 9
def parse_team(semaphore_resource_name)
  parse_srn(semaphore_resource_name, "org_name/team_name")
end
parse_user(semaphore_resource_name) click to toggle source
# File lib/sem/srn.rb, line 21
def parse_user(semaphore_resource_name)
  parse_srn(semaphore_resource_name, "user_name")
end

Private Class Methods

parse_srn(semaphore_resource_name, format) click to toggle source
# File lib/sem/srn.rb, line 27
def parse_srn(semaphore_resource_name, format)
  srn_tokens    = semaphore_resource_name.to_s.split("/")
  format_tokens = format.split("/")

  if srn_tokens.count != format_tokens.count
    resource = format_tokens.last.split("_").tap(&:pop).join(" ").capitalize

    message = "#{resource} \"#{semaphore_resource_name}\" not found."

    raise Sem::Errors::InvalidSRN, message
  end

  srn_tokens
end