# SDK リファレンス - methods

Workato では、再利用可能なメソッドがサポートされています。再利用可能なメソッドは、カスタムアダプターコードにおいて DRY 原則を保つのに役立ち、コネクター内の任意の lambda 関数で使用できます。

簡単な概要

再利用可能なメソッドは、コードのどの部分でも呼び出すことができるカスタム関数と同様のものです。これを使用すると、コードを簡潔で保守しやすい状態に維持できます。

# 構造

    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]
lambda 関数
必須 必須です。
説明 この lambda 関数は、アクション、トリガー、object_definition、その他のメソッドなど、コネクターコード内のどこからでも呼び出すことができます。この呼び出しには、call('unique_method_name', input) という特殊な構文を使用します。
使用可能な引数 引数はコード作成者が定義できます。任意の個数の引数を取ることができます。Splat 演算子は使用できません。
期待される出力 変数
例 - メソッド: - 再利用可能なメソッドの使用

call() メソッドを使用すると、メソッドを参照できます。このメソッドは、次の2つのパラメータを取ります。

  1. メソッド名 - "method_name" (文字列) または :method_name (シンボル) のいずれかの表現を使用できます。
  2. 入力フィールド - これは、メソッド定義で定義した引数にマッピングされます。

次に示す例は、数値の階乗を返す再帰的メソッドの定義です。

    methods: {
      factorial: lambda do |input|
        number = input['number']
        if number > 1
          number * call('factorial', { number: number - 1 })
        else
          number
        end
      end
    }
    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: 2023/8/31 1:07:14