module Nuggets::Object::LazyAttrMixin
Private Instance Methods
lazy_attr(name, freeze = true, &block)
click to toggle source
# File lib/nuggets/object/lazy_attr_mixin.rb 33 def lazy_attr(name, freeze = true, &block) 34 class << self; self; end.send(:attr_reader, name) 35 36 value = instance_variable_defined?(ivar = "@#{name}") ? 37 instance_variable_get(ivar) : 38 instance_variable_set(ivar, instance_eval(&block)) 39 40 freeze ? value.freeze : value 41 end