class Ezframe::ColumnSetCollection

ColumnSetを複数組み合わせて扱う

Attributes

colset_list[RW]

Public Class Methods

new(default_table=nil) click to toggle source
# File lib/ezframe/column_set.rb, line 134
def initialize(default_table=nil)
  @colset_h = {}
  @default_table = default_table
end

Public Instance Methods

[](k) click to toggle source
# File lib/ezframe/column_set.rb, line 180
def [](k)
  return get(k)
end
get(colset_key, col_key=nil) click to toggle source
# File lib/ezframe/column_set.rb, line 163
def get(colset_key, col_key=nil)
  if col_key.nil?
    if colset_key.to_s.index(".")
      colset_key, col_key = colset_key.to_s.split(".")
    elsif @default_table
      colset_key, col_key =  @default_table, colset_key
    else
      EzLog.error "ColumnSetCollection.get: illegal arguments: #{colset_key}, #{col_key}"
      return nil
    end
  end
  colset = @colset_h[colset_key.to_sym]
  return nil unless colset
  # EzLog.debug("Collection.get: colset_key=#{colset_key}, col_key=#{col_key}, value=#{colset[col_key].value}")
  return colset[col_key]
end
set_values(data) click to toggle source
# File lib/ezframe/column_set.rb, line 144
def set_values(data)
  data.each do |key, value|
    if key.to_s.index(".")
      table_key, col_key = key.to_s.split(".")
      colset = @colset_h[table_key.to_sym]
      unless colset
        @colset_h[table_key.to_sym] = colset = ColumnSets[table_key]
      end
    elsif @default_table
      col_key = key
      colset = @colset_h[@default_table.to_sym]
      unless colset
        @colset_h[table_key.to_sym] = colset = ColumnSets[@default_table]
      end
    end
    colset[col_key].value = value
  end
end
values=(data) click to toggle source
# File lib/ezframe/column_set.rb, line 139
def values=(data)
  @colset_h.each {|key, colset| colset.clear }
  set_values(data)
end