Class: AnnotateRb::ModelAnnotator::ColumnAnnotation::AnnotationBuilder
- Inherits:
-
Object
- Object
- AnnotateRb::ModelAnnotator::ColumnAnnotation::AnnotationBuilder
- Defined in:
- lib/annotate_rb/model_annotator/column_annotation/annotation_builder.rb
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(column, model, max_size, options) ⇒ AnnotationBuilder
constructor
A new instance of AnnotationBuilder.
Constructor Details
#initialize(column, model, max_size, options) ⇒ AnnotationBuilder
Returns a new instance of AnnotationBuilder.
7 8 9 10 11 12 |
# File 'lib/annotate_rb/model_annotator/column_annotation/annotation_builder.rb', line 7 def initialize(column, model, max_size, ) @column = column @model = model @max_size = max_size @options = end |
Instance Method Details
#build ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/annotate_rb/model_annotator/column_annotation/annotation_builder.rb', line 14 def build column_attributes = @model.built_attributes[@column.name] formatted_column_type = TypeBuilder.new(@column, @options, @model.column_defaults).build display_column_comments = @options[:with_comment] && @options[:with_column_comments] display_column_comments &&= @model.with_comments? && @column.comment position_of_column_comment = @options[:position_of_column_comment] || Options::FLAG_OPTIONS[:position_of_column_comment] if display_column_comments max_attributes_size = @model.built_attributes.values.map { |v| v.join(", ").length }.max _component = ColumnComponent.new( column: @column, max_name_size: @max_size, type: formatted_column_type, attributes: column_attributes, position_of_column_comment: position_of_column_comment, max_attributes_size: max_attributes_size ) end |