Module: Templatr::ActsAsTemplatable::ClassMethods
- Defined in:
- lib/templatr/acts_as_templatable.rb
Instance Method Summary collapse
- #field_class(constantize = true) ⇒ Object
- #search_class(constantize = true) ⇒ Object
- #tag_class(constantize = true) ⇒ Object
- #template_class(constantize = true) ⇒ Object
- #update_dynamic_facets ⇒ Object
Instance Method Details
#field_class(constantize = true) ⇒ Object
47 48 49 50 |
# File 'lib/templatr/acts_as_templatable.rb', line 47 def field_class(constantize = true) klass = "#{self}Field" constantize ? klass.constantize : klass end |
#search_class(constantize = true) ⇒ Object
57 58 59 60 |
# File 'lib/templatr/acts_as_templatable.rb', line 57 def search_class(constantize = true) klass = "#{self}Search" constantize ? klass.constantize : klass end |
#tag_class(constantize = true) ⇒ Object
52 53 54 55 |
# File 'lib/templatr/acts_as_templatable.rb', line 52 def tag_class(constantize = true) klass = "#{self}Tag" constantize ? klass.constantize : klass end |
#template_class(constantize = true) ⇒ Object
42 43 44 45 |
# File 'lib/templatr/acts_as_templatable.rb', line 42 def template_class(constantize = true) klass = "#{self}Template" constantize ? klass.constantize : klass end |
#update_dynamic_facets ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/templatr/acts_as_templatable.rb', line 62 def update_dynamic_facets # Load the dynamic fields current_dynamic_facets = [] field_class.find_each do |field| current_dynamic_facets << field.facet_name define_method field.facet_name do .detect {|t| t.field_id == field.id }.try(:value) # Detect instead of SQL constrain so we can eager load the tags association end unless field.facet_name.in?(dynamic_facets) has_facet field.facet_name, :attribute_type => field.attribute_type, :multiple => field.select_multiple?, :param => field.param end # Disable all facets that no longer exist (dynamic_facets - current_dynamic_facets).each {|facet_name| search_class.disable_facet(facet_name) } self.dynamic_facets = current_dynamic_facets end |