SDKリファレンス - methods
Workatoでは再利用可能なメソッドがサポートされています。 再利用可能なメソッドは、カスタムアダプターコードをDRYに保つのに役立ち、コネクター内の任意のlambda関数で使用できます。
クイック概要
再利用可能なメソッドは、コードのどの部分からでも呼び出せるカスタム関数と同じです。 これらを使用して、コードを簡潔で保守しやすい状態に保ちます。
構造
ruby
methods: {
[Unique_method_name]: lambda do |[unique_argument_name]|
Array, Hash, String, Int, Boolean
end,
[Another_unique_method_name]: lambda do |[unique_argument_name], [another_unique_argument_name]|
Array, Hash, String, Int, Boolean
end
},| 属性 | 説明 |
|---|---|
| キー | [Unique_method_name] |
| タイプ | ラムダ関数 |
| 必須 | True |
| 説明 | このlambda関数は、actions、triggers、object_definitions、さらには他のmethodsなど、コネクターコード内のどこからでも呼び出すことができます。 これは、特別な構文call('unique_method_name', input)を使用して行います |
| 指定可能な引数 | 引数はユーザーが定義できます。 引数はいくつでも指定できます。 スプラット演算子は使用できません。 |
| 想定される出力 | 変数 |
例 - methods: - 再利用可能なメソッドの使用
メソッドを参照するには、call()メソッドを使用します。 このメソッドは2つのパラメーターを受け取ります:
- メソッド名 - "method_name"(文字列)または:method_name(シンボル)の表現を使用できます。
- 入力フィールド - これはメソッド定義で定義された引数にマッピングされます。
ここでは、数値の階乗を返す再帰メソッドの定義を示します。
ruby
methods: {
factorial: lambda do |input|
number = input['number']
if number > 1
number * call('factorial', { number: number - 1 })
else
number
end
end
}ruby
actions: {
factorial: {
input_fields: lambda do
[
{ name: "number", type: :integer }
]
end,
execute: lambda do |connection, input|
{ factorial: call(:factorial, { number: input['number'] }) }
end
},Last updated: