Module: Tramway::Decorators::AssocDecoratorHelper

Defined in:
lib/tramway/decorators/association.rb

Overview

Helper module for association decorators

Class Method Summary collapse

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