module Mkxms::Mssql::Utils::InitializedAttributes

Public Instance Methods

attr_init(*syms, &blk) click to toggle source
# File lib/mkxms/mssql/utils.rb, line 18
def attr_init(*syms, &blk)
  raise "No block given for initialization of attr_init" unless blk
  
  syms.each do |sym|
    inst_var = "@#{sym}".to_sym
    define_method(sym) do
      instance_variable_get(inst_var) ||
      instance_variable_set(inst_var, blk[])
    end
  end
end