{% macro arguments(services) %}
  {% for service_id, service in services %}'@{{ service_id }}'{{ loop.last ? '' : ', ' }}{% endfor %}
{% endmacro %}

{% macro use(services) %}
  {% sort %}
    {% for service in services %}
use {{ service.type }};
    {% endfor %}
  {% endsort %}
{% endmacro %}

{% macro properties(services) %}
  {% for service in services %}
  /**
   * {{ service.description }}
   *
   * @var \{{ service.type }}
   */
  protected ${{ service.name|camelize(false) }};{{ loop.last ? '' : "\n\n" }}
  {%- endfor %}
{% endmacro %}

{% macro annotation(services) %}
  {% for service in services %}
   * @param \{{ service.type }} ${{ service.name }}
   *   {{ service.description }}{{ loop.last ? '' : "\n" }}
   {%- endfor %}
{% endmacro %}

{% macro signature(services) %}
  {% for service in services %}{{ service.short_type }} ${{ service.name }}{{ loop.last ? '' : ', ' }}{% endfor %}
{% endmacro %}

{% macro assignment(services) %}
  {% for service in services %}
    $this->{{ service.name|camelize(false) }} = ${{ service.name }};{{ loop.last ? '' : "\n" }}
  {%- endfor %}
{% endmacro %}

{% macro container(services) %}
  {% for service_id, service in services %}
      $container->get('{{ service_id }}'){{ loop.last ? '' : ",\n" }}
  {%- endfor %}
{% endmacro %}

