Class: Polyn::Cli::Naming

Inherits:
Object
  • Object
show all
Defined in:
lib/polyn/cli/naming.rb

Class Method Summary collapse

Class Method Details

.colon_to_underscore(name) ⇒ Object



41
42
43
# File 'lib/polyn/cli/naming.rb', line 41

def self.colon_to_underscore(name)
  name.gsub(":", "_")
end

.dot_to_colon(str) ⇒ Object

Convert a dot separated name into a colon separated name



8
9
10
# File 'lib/polyn/cli/naming.rb', line 8

def self.dot_to_colon(str)
  str.gsub(".", ":")
end

.dot_to_underscore(name) ⇒ Object



37
38
39
# File 'lib/polyn/cli/naming.rb', line 37

def self.dot_to_underscore(name)
  name.gsub(".", "_")
end

.format_stream_name(name) ⇒ Object



19
20
21
# File 'lib/polyn/cli/naming.rb', line 19

def self.format_stream_name(name)
  name.upcase
end

.validate_destination_name!(name) ⇒ Object

Raises:



23
24
25
26
27
28
# File 'lib/polyn/cli/naming.rb', line 23

def self.validate_destination_name!(name)
  return if name.is_a?(String) && name.match?(/\A[a-z0-9]+(?:(?:\.|:)[a-z0-9]+)*\z/)

  raise Polyn::Cli::Error,
    "Message destination must be lowercase, alphanumeric and dot/colon separated, got #{name}"
end

.validate_message_name!(name) ⇒ Object

Raises:



30
31
32
33
34
35
# File 'lib/polyn/cli/naming.rb', line 30

def self.validate_message_name!(name)
  return if name.is_a?(String) && name.match?(/\A[a-z0-9]+(?:\.[a-z0-9]+)*\z/)

  raise Polyn::Cli::Error,
    "Message names must be lowercase, alphanumeric and dot separated"
end

.validate_stream_name!(name) ⇒ Object

Raises:



12
13
14
15
16
17
# File 'lib/polyn/cli/naming.rb', line 12

def self.validate_stream_name!(name)
  return if name.match(/^[a-zA-Z0-9_]+$/)

  raise Polyn::Cli::Error,
    "Stream name must be all alphanumeric, uppercase, and underscore separated. Got #{name}"
end