module Concurrent::Synchronization::Volatile::ClassMethods

Public Instance Methods

attr_volatile(*names) click to toggle source
# File lib/concurrent-ruby/concurrent/synchronization/volatile.rb, line 39
          def attr_volatile(*names)
            names.each do |name|
              ivar = :"@volatile_#{name}"
              class_eval <<-RUBY, __FILE__, __LINE__ + 1
                def #{name}
                  #{ivar}
                end

                def #{name}=(value)
                  #{ivar} = value
                end
              RUBY
            end
            names.map { |n| [n, :"#{n}="] }.flatten
          end