Template¶
一部の設定ではjinja2形式のテンプレート表現を受けつけます。
対応内容の詳細はjinja2公式サイトをご覧下さい。
Property rules¶
条件を記載するwhenプロパティと、値を記載するその他プロパティで記載の仕方が少し異なります。
when系プロパティ¶
when
だけでなくwhen_any
やwhen_all
も対象に含まれます。
- 条件式を記載
- 全てが式であるため
{{ }}
で囲まない - 文字列はクォートで囲む
TypeがTrialであるtrial変数を使った場合の一例です。
OK
- when: "trial.name == 'json'"
NG
- when: "trial.name == json"
- when: "{{ trial.name == json }}"
when系以外のプロパティ¶
- 値の一部として記載
- 基本は値であるためテンプレート部分は
{{ }}
で囲む - 文字列はクォートで囲まない
- ただし、条件式などで利用するテンプレート内の文字列は囲む必要あり
TypeがTrialであるtrial変数を使った場合の一例です。
プロパティ名はtagです。
OK
- tag: "TAG: {{ trial.name }}"
- tag: "{{ trial.name == 'hoge' }}"
NG
- when: "TAG: trial.name"
- when: "trial.name == hoge"
- when: "{{ trial.name == hoge }}"
Filters¶
JumeauxオリジナルのFilterをいくつか利用できます。
reg(regstr)¶
正規表現に完全一致する場合はTrueを返します。
Examples¶
年齢(age)が2桁がどうか
age|reg("[0-9]{2}")
Functions¶
Jumeauxオリジナルの関数をいくつか利用できます。
calc_distance_km(lat1: float, lon1: float, lat2: float, lon2: float)¶
座標(lat1, lon1)~座標(lat2, lon2)間の概算距離を計算します。
- 測地系はWGS84
- 単位はdegree
- 返却値は浮動小数点
- 返却値の単位はkm
Examples¶
calc_distance_km(35.694253, 139.784099, 35.664131, 139.759302)
equals_without_host(one: str, other: str)¶
文字列oneとotherについて、ホスト部分を除き一致するかどうかを判定します。
Examples¶
equals_without_host("https://hoge.com/hoge", "https://fuga.com/hoge")
// -> True
equals_without_host("https://hoge.com/hoge", "https://hoge.com/fuga")
// -> False