forked from line/line-bot-sdk-ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodel.pebble
More file actions
41 lines (40 loc) · 2.22 KB
/
model.pebble
File metadata and controls
41 lines (40 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{# @pebvariable name="models" type="java.util.ArrayList<org.openapitools.codegen.model.ModelMap>" -#}
{# @pebvariable name="typeMapping" type="java. util. Map<String, String>" -#}
{# @pebvariable name="packageName" type="String" #}
{%- for model in models -%}
{%- include "./license.pebble" -%}
{% if model.model.parent != null %}
require_relative './{{ model.model.parent | underscore }}'
{% endif -%}
{{ "" | raw }}{# To break line #}
module Line
module Bot
module V2
module {{ packageName | camelize }}
{% if model.model.description != null -%}
# {{ model.model.description }}
{% endif -%}
{% if model.model.externalDocumentation.description != null -%}
# {{ model.model.externalDocumentation.description }}
{% endif -%}
{% if model.model.externalDocumentation.url != null -%}
# @see {{ model.model.externalDocumentation.url }}
{% endif -%}
class {{ model.model.classname }}{% if model.model.parent != null %} < {{ model.model.parent }}{% endif %}
{%- for property in model.model.vars %}
{% if model.model.vendorExtensions.get("x-selector").propertyName != property.name %}attr_accessor{% else %}attr_reader{% endif %} :{{ property.name }}{% if property.description != null %} # {{ property.description }}{% endif %}
{%- endfor %}
def initialize({% for property in model.model.vars %}{% if model.model.vendorExtensions.get("x-selector").propertyName != property.name or packageName == 'webhook' %}
{{ property.name }}:{% if property.defaultValue == null %}{{ property.required ? '' : ' nil' }}{% else %}{{ ' ' + property.defaultValue }}{% endif %}{{ loop.last ? '' : ',' -}}{% endif %}{% endfor %}
)
{% if model.model.vendorExtensions.get("x-selector") != null %}@{{model.model.vendorExtensions.get("x-selector").propertyName}} = "{{model.model.vendorExtensions.get("x-selector").mappingName}}"{% endif -%}
{%- for property in model.model.vars %}
{% if model.model.vendorExtensions.get("x-selector").propertyName != property.name %}@{{ property.name }} = {{ property.name }}{% endif -%}
{% endfor %}
end
end
end
end
end
end
{% endfor -%}