Class: Klases::AnonymousConstSet

Inherits:
Object
  • Object
show all
Defined in:
lib/klases/anonymous_const_set.rb

Class Method Summary collapse

Class Method Details

.<<(const) ⇒ Object



20
21
22
23
24
# File 'lib/klases/anonymous_const_set.rb', line 20

def self.<<(const)
  const_set "C#{next_index}", const
  const.name # fix const name
  consts << const
end

.constsObject



16
17
18
# File 'lib/klases/anonymous_const_set.rb', line 16

def self.consts
  @consts ||= []
end

.mutexObject



5
6
7
# File 'lib/klases/anonymous_const_set.rb', line 5

def self.mutex
  @mutex ||= ::Mutex.new
end

.next_indexObject



9
10
11
12
13
14
# File 'lib/klases/anonymous_const_set.rb', line 9

def self.next_index
  mutex.synchronize do
    @index ||= 0
    @index += 1
  end
end