Module: Tramway::Decorators::AssocDecoratorHelper
- Defined in:
- lib/tramway/decorators/association.rb
Overview
Helper module for association decorators
Class Method Summary collapse
- .decorate_associated_object(assoc, decorator_class: nil) ⇒ Object
- .decorate_has_many_association(assoc, decorator_class: nil) ⇒ Object
- .decorator(class_name) ⇒ Object
Class Method Details
.decorate_associated_object(assoc, decorator_class: nil) ⇒ Object
49 50 51 52 53 |
# File 'lib/tramway/decorators/association.rb', line 49 def decorate_associated_object(assoc, decorator_class: nil) decorator_class ||= decorator(assoc.class) decorator_class.decorate(assoc) end |
.decorate_has_many_association(assoc, decorator_class: nil) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/tramway/decorators/association.rb', line 41 def decorate_has_many_association(assoc, decorator_class: nil) return [] if assoc.empty? decorator_class ||= decorator(assoc.klass) decorator_class.decorate(assoc) end |
.decorator(class_name) ⇒ Object
55 56 57 |
# File 'lib/tramway/decorators/association.rb', line 55 def decorator(class_name) Tramway::Decorators::NameBuilder.default_decorator_class_name(class_name).constantize end |