module AttrLazy

Constants

VERSION

Public Instance Methods

attr_lazy_accessor(accessor_name, &block) click to toggle source
# File lib/attr_lazy.rb, line 12
def attr_lazy_accessor(accessor_name, &block)
  attr_lazy_reader(accessor_name, &block)
  define_method("#{accessor_name}=") do |value|
    instance_variable_set("@#{accessor_name}", value)
  end
end
attr_lazy_reader(reader_name, &block) click to toggle source
# File lib/attr_lazy.rb, line 5
def attr_lazy_reader(reader_name, &block)
  define_method(reader_name) do
    instance_variable_get("@#{reader_name}") ||
      instance_variable_set("@#{reader_name}", instance_eval(&block))
  end
end