Class: Chicago::Schema::Builders::ColumnBuilder
- Inherits:
-
Object
- Object
- Chicago::Schema::Builders::ColumnBuilder
show all
- Defined in:
- lib/chicago/schema/builders/column_builder.rb
Instance Method Summary
collapse
Constructor Details
#initialize(column_class, defaults = {}) ⇒ ColumnBuilder
5
6
7
8
|
# File 'lib/chicago/schema/builders/column_builder.rb', line 5
def initialize(column_class, defaults={})
@column_class = column_class
@defaults = defaults
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(type, *args) ⇒ Object
16
17
18
19
|
# File 'lib/chicago/schema/builders/column_builder.rb', line 16
def method_missing(type, *args)
name, rest = args
@columns << @column_class.new(name, type, @defaults.merge(rest || {}))
end
|
Instance Method Details
#build(&block) ⇒ Object
10
11
12
13
14
|
# File 'lib/chicago/schema/builders/column_builder.rb', line 10
def build(&block)
@columns = []
instance_eval(&block) if block_given?
@columns
end
|