Skip to content

Commit 4d59219

Browse files
committed
Check required params first
1 parent 54fbbaa commit 4d59219

File tree

3 files changed

+16
-21
lines changed

3 files changed

+16
-21
lines changed

templates/ruby/base/params.twig

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1+
path = '{{ method.path }}'
12
{% for parameter in method.parameters.path %}
2-
.gsub('{{ '{' }}{{ parameter.name }}{{ '}' }}', {{ parameter.name | caseSnake | escapeKeyword }})
3+
.gsub('{{ '{' }}{{ parameter.name }}{{ '}' }}', {{ parameter.name | caseSnake | escapeKeyword }})
4+
{% endfor %}
5+
6+
{% for parameter in method.parameters.all %}
7+
{% if parameter.required %}
8+
if {{ parameter.name | caseSnake | escapeKeyword }}.nil?
9+
raise {{spec.title | caseUcfirst}}::Exception.new('Missing required parameter: "{{ parameter.name | caseCamel | escapeKeyword }}"')
10+
end
11+
12+
{% endif %}
313
{% endfor %}
414

515
params = {
@@ -15,14 +25,4 @@
1525
{% for key, header in method.headers %}
1626
"{{ key }}": '{{ header }}',
1727
{% endfor %}
18-
}
19-
{% if method.parameters.all | length %}
20-
{% for parameter in method.parameters.all %}
21-
{% if parameter.required %}
22-
if {{ parameter.name | caseSnake | escapeKeyword }}.nil?
23-
raise {{spec.title | caseUcfirst}}::Exception.new('Missing required parameter: "{{ parameter.name | caseCamel | escapeKeyword }}"')
24-
end
25-
26-
{% endif %}
27-
{% endfor %}
28-
{% endif %}
28+
}

templates/ruby/docs/example.md.twig

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
require 'appwrite'
22

3-
client = Appwrite::Client.new
4-
{% if method.type == "upload" %}
5-
InputFile = Appwrite::InputFile
6-
{% endif %}
3+
include Appwrite
74

8-
client
5+
client = Client.new
96
.set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint
107
{% for node in method.security %}
118
{% for key,header in node|keys %}
129
.set_{{header|caseSnake}}('{{node[header]['x-appwrite']['demo']}}') # {{node[header].description}}
1310
{% endfor %}
1411
{% endfor %}
1512

16-
{{ service.name | caseSnake }} = {{spec.title | caseUcfirst}}::{{ service.name | caseUcfirst }}.new(client{% if service.globalParams | length %}{% for parameter in service.globalParams %}, {{parameter.name | caseSnake}}:{{ parameter | paramExample }}{% endfor %}{% endif %})
13+
{{ service.name | caseSnake }} = {{ service.name | caseUcfirst }}.new(client{% if service.globalParams | length %}{% for parameter in service.globalParams %}, {{parameter.name | caseSnake}}:{{ parameter | paramExample }}{% endfor %}{% endif %})
1714

18-
response = {{ service.name | caseSnake }}.{{ method.name | caseSnake }}({% for parameter in method.parameters.all %}{% if parameter.required %}{% if not loop.first %}, {% endif %}{{parameter.name|caseSnake}}: {% if parameter.type == 'file' %}{{spec.title | caseUcfirst}}::{{ parameter | paramExample }}{% else %}{{ parameter | paramExample }}{% endif %}{% endif %}{% endfor %})
15+
response = {{ service.name | caseSnake }}.{{ method.name | caseSnake }}({% for parameter in method.parameters.all %}{% if parameter.required %}{% if not loop.first %}, {% endif %}{{parameter.name|caseSnake}}: {% if parameter.type == 'file' %}{{ parameter | paramExample }}{% else %}{{ parameter | paramExample }}{% endif %}{% endif %}{% endfor %})
1916

2017
puts response.inspect

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ module {{spec.title | caseUcfirst}}
1616
#
1717
# @return [{{ method.responseModel | caseUcfirst }}]
1818
def {{ method.name | caseSnake }}({% for parameter in method.parameters.all %}{{ parameter.name | caseSnake | escapeKeyword }}:{% if not parameter.required %} nil{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}{% if 'multipart/form-data' in method.consumes %}, on_progress: nil{% endif %})
19-
20-
path = '{{ method.path }}'
2119
{{ include('ruby/base/params.twig')}}
2220
{% if 'multipart/form-data' in method.consumes %}
2321
{{ include('ruby/base/requests/file.twig')}}

0 commit comments

Comments
 (0)