Module: Interactify::Dsl::UniqueKlassName

Defined in:
lib/interactify/dsl/unique_klass_name.rb

Class Method Summary collapse

Class Method Details

.for(namespace, prefix) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/interactify/dsl/unique_klass_name.rb', line 6

def self.for(namespace, prefix)
  id = generate_unique_id
  klass_name = :"#{prefix.to_s.camelize.gsub("::", "__")}#{id}"

  while namespace.const_defined?(klass_name)
    id = generate_unique_id
    klass_name = :"#{prefix}#{id}"
  end

  klass_name.to_sym
end

.generate_unique_idObject



18
19
20
# File 'lib/interactify/dsl/unique_klass_name.rb', line 18

def self.generate_unique_id
  rand(10_000)
end