Module: UniverseCompiler::Utils::WithUniqueName::ClassMethods
- Defined in:
- lib/universe_compiler/utils/with_unique_name.rb
Constant Summary collapse
- DEFAULT_SEED =
'Unknown'.freeze
Instance Method Summary collapse
- #get_unique_name ⇒ Object
- #instances ⇒ Object
- #name_seed ⇒ Object
- #new_instance(name, *args) ⇒ Object
- #set_name(name, object) ⇒ Object
- #set_name_seed(name_seed) ⇒ Object
Instance Method Details
#get_unique_name ⇒ Object
37 38 39 |
# File 'lib/universe_compiler/utils/with_unique_name.rb', line 37 def get_unique_name '%s_%d' % [name_seed, instance_counter] end |
#instances ⇒ Object
18 19 20 21 |
# File 'lib/universe_compiler/utils/with_unique_name.rb', line 18 def instances @instances ||= {} @instances.dup end |
#name_seed ⇒ Object
14 15 16 |
# File 'lib/universe_compiler/utils/with_unique_name.rb', line 14 def name_seed @name_seed ||DEFAULT_SEED end |
#new_instance(name, *args) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/universe_compiler/utils/with_unique_name.rb', line 23 def new_instance(name, *args) check_name name new_instance = new *args @instance[name] = new_instance new_instance end |
#set_name(name, object) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/universe_compiler/utils/with_unique_name.rb', line 30 def set_name(name, object) check_name name old_name = instances.key object @instances[old_name] = nil unless old_name.nil? @instances[name] = object end |
#set_name_seed(name_seed) ⇒ Object
10 11 12 |
# File 'lib/universe_compiler/utils/with_unique_name.rb', line 10 def set_name_seed(name_seed) @name_seed = name_seed.to_s end |