Class: Daifuku::StrdefGenerator::LogTable
- Inherits:
-
Object
- Object
- Daifuku::StrdefGenerator::LogTable
- Defined in:
- lib/daifuku/strdef_generator.rb
Constant Summary collapse
- PREDEFINED =
%w[id log_id event_category event_name]
Class Method Summary collapse
Instance Method Summary collapse
- #[](name) ⇒ Object
- #add_column(column, location = '-') ⇒ Object
- #add_common_column(column) ⇒ Object
- #each_column(&block) ⇒ Object
-
#initialize ⇒ LogTable
constructor
A new instance of LogTable.
Constructor Details
#initialize ⇒ LogTable
Returns a new instance of LogTable.
66 67 68 |
# File 'lib/daifuku/strdef_generator.rb', line 66 def initialize @columns = {} end |
Class Method Details
.predefined_column?(name) ⇒ Boolean
62 63 64 |
# File 'lib/daifuku/strdef_generator.rb', line 62 def self.predefined_column?(name) PREDEFINED.include?(name) end |
Instance Method Details
#[](name) ⇒ Object
86 87 88 |
# File 'lib/daifuku/strdef_generator.rb', line 86 def [](name) @columns[name] end |
#add_column(column, location = '-') ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/daifuku/strdef_generator.rb', line 74 def add_column(column, location = '-') if prev = @columns[column.name] if prev.common? raise "common column is being overwritten: #{column.name}: location=#{location}" end unless column.type.name == prev.type.name raise "column type mismatch: name=#{column.name}, curr=#{column.type.name}, prev=#{prev.type.name}" end end @columns[column.name] = LogColumn.new(column.name, column.type) end |
#add_common_column(column) ⇒ Object
70 71 72 |
# File 'lib/daifuku/strdef_generator.rb', line 70 def add_common_column(column) @columns[column.name] = LogColumn.new(column.name, column.type, true) end |
#each_column(&block) ⇒ Object
90 91 92 |
# File 'lib/daifuku/strdef_generator.rb', line 90 def each_column(&block) @columns.each_value(&block) end |