module SyncAttr::Attributes
Public Class Methods
included(base)
click to toggle source
# File lib/sync_attr/attributes.rb, line 84 def self.included(base) base.extend(SyncAttr::Attributes::ClassMethods) end
Private Instance Methods
sync_attr_sync(attribute, &block)
click to toggle source
Thread safe way of creating the instance sync
# File lib/sync_attr/attributes.rb, line 91 def sync_attr_sync(attribute, &block) mutex_var_name = "@sync_attr_#{attribute}".to_sym instance_variable_set(mutex_var_name, Mutex.new) unless instance_variable_defined?(mutex_var_name) instance_variable_get(mutex_var_name).synchronize(&block) end