Skip to content

Commit fc60f3e

Browse files
authored
Merge pull request #197 from appwrite/fix-ruby-overall-improvements
fix(ruby): overall improvements
2 parents f0d033a + 1c0d707 commit fc60f3e

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

templates/ruby/lib/container/services/service.rb.twig

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)