Method: Orchparty::Transformations::Mixin#transform_application

Defined in:
lib/orchparty/transformations/mixin.rb

#transform_application(application, ast) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/orchparty/transformations/mixin.rb', line 30

def transform_application(application, ast)
  application.services = application.services.transform_values! do |service|
    current = AST.service
    service.delete(:_mix).compact.each do |mix|
      current = current.deep_merge_concat(resolve_mixin(mix, application, ast))
    rescue StandardError
      warn "problems with #{mix}"
      raise
    end
    current.deep_merge_concat(service)
  end
  application
end