module Nuggets::Module::LazyAttrMixin
Public Instance Methods
lazy_accessor(name, options = {}, &block)
click to toggle source
# File lib/nuggets/module/lazy_attr_mixin.rb 33 def lazy_accessor(name, options = {}, &block) 34 attr_writer(attr = lazy_name(name, options)) 35 lazy_reader(name, options, attr, &block) 36 end
lazy_reader(name, options = {}, attr = lazy_name(name, options), &block)
click to toggle source
# File lib/nuggets/module/lazy_attr_mixin.rb 38 def lazy_reader(name, options = {}, attr = lazy_name(name, options), &block) 39 define_method(name) { lazy_attr(attr, 40 options.fetch(:freeze, true), &block) } 41 end
Also aliased as: lazy_attr
Private Instance Methods
lazy_name(name, options)
click to toggle source
# File lib/nuggets/module/lazy_attr_mixin.rb 47 def lazy_name(name, options) 48 options.fetch(:name) { name.to_s.sub(/\?\z/, '_p') } 49 end