Class: BrainDamage::View::Input::PolymorphicHybrid
- Inherits:
-
Base
- Object
- Templateable::Base
- Templateable::FieldTemplateable
- Base
- BrainDamage::View::Input::PolymorphicHybrid
- Defined in:
- lib/generators/brain_damage/lib/views/inputs/polymorphic_hybrid.rb
Instance Attribute Summary
Attributes inherited from Templateable::FieldTemplateable
Attributes inherited from Templateable::Base
#inner_html, #options, #template_file
Instance Method Summary collapse
-
#initialize(field, options) ⇒ PolymorphicHybrid
constructor
A new instance of PolymorphicHybrid.
- #initialize_inputs ⇒ Object
- #object_select_name ⇒ Object
- #specified_inputs ⇒ Object
- #type_select_name ⇒ Object
Methods inherited from Base
Methods inherited from Templateable::FieldTemplateable
#empty_haml_path, #label_guard?, #method_missing, #render, #show?, #show_label?
Methods inherited from Templateable::Base
#indent, #method_missing, #render, #render_erb_file, #render_erb_string, #render_template_file
Constructor Details
#initialize(field, options) ⇒ PolymorphicHybrid
Returns a new instance of PolymorphicHybrid.
8 9 10 11 12 |
# File 'lib/generators/brain_damage/lib/views/inputs/polymorphic_hybrid.rb', line 8 def initialize(field, ) super @normalized_name = name.to_s.gsub('_id', '').gsub('_type', '') @initialized_inputs = false end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class BrainDamage::Templateable::FieldTemplateable
Instance Method Details
#initialize_inputs ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/generators/brain_damage/lib/views/inputs/polymorphic_hybrid.rb', line 14 def initialize_inputs @inputs = {} @options[:inputs].each do |name, | @inputs[name] = { name: name, model: [:model], label: [:label], input: Factory.create(:input, @field, ) } end @initialized_inputs = true end |
#object_select_name ⇒ Object
33 34 35 |
# File 'lib/generators/brain_damage/lib/views/inputs/polymorphic_hybrid.rb', line 33 def object_select_name "#{singular_table_name}[#{@normalized_name}_id]" end |
#specified_inputs ⇒ Object
37 38 39 40 |
# File 'lib/generators/brain_damage/lib/views/inputs/polymorphic_hybrid.rb', line 37 def specified_inputs initialize_inputs unless @initialized_inputs @inputs.values end |
#type_select_name ⇒ Object
29 30 31 |
# File 'lib/generators/brain_damage/lib/views/inputs/polymorphic_hybrid.rb', line 29 def type_select_name "#{singular_table_name}[#{@normalized_name}_type]" end |