Class: Ezframe::ColumnSetCollection

Inherits:
Object
  • Object
show all
Defined in:
lib/ezframe/column_set.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_table = nil) ⇒ ColumnSetCollection

Returns a new instance of ColumnSetCollection.



134
135
136
137
# File 'lib/ezframe/column_set.rb', line 134

def initialize(default_table=nil)
  @colset_h = {}
  @default_table = default_table
end

Instance Attribute Details

#colset_listObject

Returns the value of attribute colset_list.



132
133
134
# File 'lib/ezframe/column_set.rb', line 132

def colset_list
  @colset_list
end

Instance Method Details

#[](k) ⇒ Object



180
181
182
# File 'lib/ezframe/column_set.rb', line 180

def [](k)
  return get(k)
end

#get(colset_key, col_key = nil) ⇒ Object



163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# 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) ⇒ Object



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# 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) ⇒ Object



139
140
141
142
# File 'lib/ezframe/column_set.rb', line 139

def values=(data)
  @colset_h.each {|key, colset| colset.clear }
  set_values(data)
end