@@ -2,23 +2,34 @@ module {{spec.title | caseUcfirst}}
22 class {{ service .name | caseUcfirst }} < Service
33
44{% for method in service .methods %}
5- def {{ method .name | caseSnake }}({% for parameter in method .parameters .all %}{{ parameter .name | caseSnake }}{{ parameter | paramDefault }}{% if not loop .last %}, {% endif %}{% endfor %})
5+ def {{ method .name | caseSnake }}({% for parameter in method .parameters .all %}{{ parameter .name | caseSnake }}:{% if not parameter .required %} nil{% endif %}{% if not loop .last %}, {% endif %}{% endfor %})
6+ {% for parameter in method .parameters .all %}
7+ {% if parameter .required %}
8+ if {{ parameter .name | caseSnake }}.nil?
9+ raise {{spec .title | caseUcfirst }}::Exception.new('Missing required parameter: "{{ parameter .name | caseCamel }}"')
10+ end
11+
12+ {% endif %}
13+ {% endfor %}
614 path = '{{ method .path }}'
715{% for parameter in method .parameters .path %}
816 .gsub('{{ ' {' }}{{ parameter .name }}{{ ' }' }}', {{ parameter .name | caseSnake }})
917{% endfor %}
1018
11- params = {
19+ params = {}
20+
1221{% for parameter in method .parameters .query %}
13- '{{ parameter .name }}': {{ parameter .name | caseSnake }}{% if not loop .last %}, {% endif %}
22+ if !{{ parameter .name | caseSnake }}.nil?
23+ params[:{{ parameter .name }}] = {{ parameter .name | caseSnake }}
24+ end
1425
1526{% endfor %}
1627{% for parameter in method .parameters .body %}
17- '{{ parameter .name }}': {{ parameter .name | caseSnake }}{% if not loop .last %}, {% endif %}
28+ if !{{ parameter .name | caseSnake }}.nil?
29+ params[:{{ parameter .name }}] = {{ parameter .name | caseSnake }}
30+ end
1831
1932{% endfor %}
20- }
21-
2233 return @client.call('{{ method .method | caseLower }}', path, {
2334{% for parameter in method .parameters .header %}
2435 '{{ parameter .name }}' => ${{ parameter .name | caseCamel }},
0 commit comments