module ActiveZuora::LazyAttr::ClassMethods

Public Instance Methods

define_lazy_field(field) click to toggle source
# File lib/active_zuora/lazy_attr.rb, line 43
def define_lazy_field(field)
  instance_eval do
    define_method field do
      instance_variable_get("@#{field}") || instance_variable_set("@#{field}", fetch_field(field))
    end
  end
end
lazy_load(*field_names) click to toggle source
# File lib/active_zuora/lazy_attr.rb, line 37
def lazy_load(*field_names)
  Array(field_names).map(&:to_sym).each do |field_name|
    define_lazy_field field_name
  end
end