Module: Nuggets::Module::LazyAttrMixin

Included in:
Module
Defined in:
lib/nuggets/module/lazy_attr_mixin.rb

Instance Method Summary collapse

Instance Method Details

#lazy_accessor(name, options = {}, &block) ⇒ Object



33
34
35
36
# File 'lib/nuggets/module/lazy_attr_mixin.rb', line 33

def lazy_accessor(name, options = {}, &block)
  attr_writer(attr = lazy_name(name, options))
  lazy_reader(name, options, attr, &block)
end

#lazy_reader(name, options = {}, attr = lazy_name(name, options), &block) ⇒ Object Also known as: lazy_attr



38
39
40
41
# File 'lib/nuggets/module/lazy_attr_mixin.rb', line 38

def lazy_reader(name, options = {}, attr = lazy_name(name, options), &block)
  define_method(name) { lazy_attr(attr,
    options.fetch(:freeze, true), &block) }
end