Class: ModelBase::ColumnAttribute
- Inherits:
-
Rails::Generators::GeneratedAttribute
- Object
- Rails::Generators::GeneratedAttribute
- ModelBase::ColumnAttribute
- Defined in:
- lib/model_base/column_attribute.rb
Defined Under Namespace
Classes: AbstractSelectRenderer, EnumerizedSelectRenderer, ReferenceSelectRenderer
Instance Attribute Summary collapse
-
#column ⇒ Object
readonly
Returns the value of attribute column.
-
#linkable ⇒ Object
(also: #linkable?)
Returns the value of attribute linkable.
-
#model ⇒ Object
readonly
Returns the value of attribute model.
-
#reference ⇒ Object
readonly
Returns the value of attribute reference.
Instance Method Summary collapse
- #enumerized? ⇒ Boolean
-
#initialize(model, name, type, column: nil, reference: nil, index_type: false, attr_options: {}) ⇒ ColumnAttribute
constructor
A new instance of ColumnAttribute.
- #ref_model ⇒ Object
- #required? ⇒ Boolean
- #select_renderer ⇒ Object
Constructor Details
#initialize(model, name, type, column: nil, reference: nil, index_type: false, attr_options: {}) ⇒ ColumnAttribute
Returns a new instance of ColumnAttribute.
13 14 15 16 17 18 |
# File 'lib/model_base/column_attribute.rb', line 13 def initialize(model, name, type, column: nil, reference: nil, index_type: false, attr_options: {}) super(name, type, index_type, ) @model = model @reference = reference @column = column end |
Instance Attribute Details
#column ⇒ Object (readonly)
Returns the value of attribute column.
11 12 13 |
# File 'lib/model_base/column_attribute.rb', line 11 def column @column end |
#linkable ⇒ Object Also known as: linkable?
Returns the value of attribute linkable.
7 8 9 |
# File 'lib/model_base/column_attribute.rb', line 7 def linkable @linkable end |
#model ⇒ Object (readonly)
Returns the value of attribute model.
11 12 13 |
# File 'lib/model_base/column_attribute.rb', line 11 def model @model end |
#reference ⇒ Object (readonly)
Returns the value of attribute reference.
10 11 12 |
# File 'lib/model_base/column_attribute.rb', line 10 def reference @reference end |
Instance Method Details
#enumerized? ⇒ Boolean
31 32 33 34 |
# File 'lib/model_base/column_attribute.rb', line 31 def enumerized? model.model_class.respond_to?(name) && defined?(Enumerize) && model.model_class.send(name).is_a?(Enumerize::Attribute) end |
#ref_model ⇒ Object
20 21 22 23 24 25 |
# File 'lib/model_base/column_attribute.rb', line 20 def ref_model unless defined?(@ref_model) @ref_model = reference.nil? ? nil : ModelBase::MetaModel.new(reference.class_name) end @ref_model end |
#required? ⇒ Boolean
27 28 29 |
# File 'lib/model_base/column_attribute.rb', line 27 def required? !column.try(:null) end |
#select_renderer ⇒ Object
36 37 38 39 |
# File 'lib/model_base/column_attribute.rb', line 36 def select_renderer ref_model ? ReferenceSelectRenderer.new(self) : enumerized? ? EnumerizedSelectRenderer.new(self) : nil end |