Skip to content

Commit 31d9a4c

Browse files
Merge pull request #544 from appwrite/fix-ruby-services
Fix ruby services
2 parents d92baaf + 179eece commit 31d9a4c

File tree

3 files changed

+18
-24
lines changed

3 files changed

+18
-24
lines changed

templates/ruby/base/params.twig

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
path = '{{ method.path }}'
2+
{% for parameter in method.parameters.path %}
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 %}
13+
{% endfor %}
114
params = {
215
{% for parameter in method.parameters.query | merge(method.parameters.body) %}
316
{{ parameter.name }}: {{ parameter.name | caseSnake | escapeKeyword }},
@@ -12,16 +25,3 @@
1225
"{{ key }}": '{{ header }}',
1326
{% endfor %}
1427
}
15-
{% if method.parameters.all | length %}
16-
{% for parameter in method.parameters.all %}
17-
{% if parameter.required %}
18-
if {{ parameter.name | caseSnake | escapeKeyword }}.nil?
19-
raise {{spec.title | caseUcfirst}}::Exception.new('Missing required parameter: "{{ parameter.name | caseCamel | escapeKeyword }}"')
20-
end
21-
22-
{% endif %}
23-
{% endfor %}
24-
{% for parameter in method.parameters.path %}
25-
.gsub('{{ '{' }}{{ parameter.name }}{{ '}' }}', {{ parameter.name | caseSnake | escapeKeyword }})
26-
{% endfor %}
27-
{% endif %}

templates/ruby/docs/example.md.twig

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1-
require 'appwrite'
1+
require '{{ spec.title }}'
22

3-
client = Appwrite::Client.new
4-
{% if method.type == "upload" %}
5-
InputFile = Appwrite::InputFile
6-
{% endif %}
3+
include {{ spec.title | caseUcfirst }}
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 & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +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 }}'
21-
2219
{{ include('ruby/base/params.twig')}}
2320
{% if 'multipart/form-data' in method.consumes %}
2421
{{ include('ruby/base/requests/file.twig')}}

0 commit comments

Comments
 (0)