Module: Nuggets::Module::LazyAttrMixin
- Included in:
- Module
- Defined in:
- lib/nuggets/module/lazy_attr_mixin.rb
Instance Method Summary collapse
- #lazy_accessor(name, options = {}, &block) ⇒ Object
- #lazy_reader(name, options = {}, attr = lazy_name(name, options), &block) ⇒ Object (also: #lazy_attr)
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, = {}, &block) attr_writer(attr = lazy_name(name, )) lazy_reader(name, , 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, = {}, attr = lazy_name(name, ), &block) define_method(name) { lazy_attr(attr, .fetch(:freeze, true), &block) } end |