利用可能なRubyメソッド

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Workatoは、SDKフレームワーク内でRubyのパブリックインスタンスメソッドのサブセットを実装しています。 このドキュメントでは、コネクタの構築時に使用できるRubyメソッドを一覧表示します。

ホワイトリストの削除

Workatoは、2025年3月からSDKフレームワークのホワイトリストを削除しました。 これにより、開発者はSDKコンテナ内で、組み込みライブラリを含むRuby 2.7の全機能と、利用可能なRuby gemにアクセスできるようになりました。 この変更により、SDK開発者がプラットフォーム内で活用できる機能の範囲が大幅に拡大します。

rubyホワイトリストの削除により利用可能になった機能については、詳細を参照してください。

この機能強化はRubyコードコネクターには適用されません。

個人用の再利用可能なメソッド

Workato SDKを使用する場合、任意のブロックで使用する個人用の再利用可能なメソッドを宣言できます。


at

指定された引数を使用して新しい時刻オブジェクトを作成します。

atメソッド定義を参照してください。


abs

数値の絶対値を返します。


account_property

ユーザーのワークスペース内の特定のアカウントプロパティの値を返します。

ruby
client_secret = account_property('hubspot_webhook_client_secret')

このメソッドは、connectionハッシュ内の次のlambdaからのみ呼び出せることに注意してください。

  • authorization_url
  • token_url
  • acquire
  • base_uri

また、actionstriggersmethodsobject_definitionspick_lists内のその他のlambdaでも呼び出せます。


aes_cbc_encrypt

CBCモードによるAES暗号化。 128、192、256ビットのキーを受け入れます。

ruby
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
workato.aes_cbc_encrypt("text_to_encrypt", key128)

aes_cbc_decrypt

CBCモードによるAES復号。 128、192、256ビットのキーを受け入れます。

ruby
workato.aes_cbc_decrypt("text_to_decrypt", key128)

aes_gcm_encrypt

GCMモードを使用して、AESで暗号化された文字列と認証タグを返します。 初期化ベクトル(IV)キーサイズは12バイトである必要があります。 128、192、256ビットのキーを受け入れます。

ruby
# Generate a salt for key derivation
salt = workato.random_bytes(8)

# Derive a key using PBKDF2 with HMAC-SHA1
key128 = workato.pbkdf2_hmac_sha1("password", salt)

# Initialize an IV (initialization vector)
iv = "init_vector0"

# Encrypt the text
encrypted_data = workato.aes_gcm_encrypt("text_to_encrypt", key128, iv)  # [0x3040ffe9e51d4a929605fe0a262eea, 0x0f7e0a05eb25512c03ffafca43418a12]

文字列値を受け入れるauth_dataを指定することもできます。

ruby
auth_data = "my_auth_data"

# Generate a salt for key derivation
salt = workato.random_bytes(8)

# Derive a key using PBKDF2 with HMAC-SHA1
key128 = workato.pbkdf2_hmac_sha1("password", salt)

# Initialize an IV (initialization vector)
iv = "init_vector0"

# Encrypt the text
encrypted_data = workato.aes_gcm_encrypt("text_to_encrypt", key128, iv, auth_data)  # [0x3040ffe9e51d4a929605fe0a262eea, 0x0f7e0a05eb25512c03ffafca43418a12]

結果は[encrypted_string, auth_tag]形式の配列です。 これらの値を個別に取得するには、.firstおよび.lastFormulaを使用します。


aes_gcm_decrypt

GCMモードを使用して、AESで復号された文字列を返します。 初期化ベクトル(IV)キーサイズは12バイトである必要があります。 128、192、256ビットのキーを受け入れます。

ruby
decrypted_string = workato.aes_gcm_decrypt(encrypted_string, key128, auth_tag, iv)  # 0x746578745f746f5f656e6372797074

auth_dataを使用して暗号化した場合は、Formulaに含める必要があります。

ruby
decrypted_string = workato.aes_gcm_decrypt(encrypted_string, key128, auth_tag, iv, auth_data)  # 0x746578745f746f5f656e6372797074

出力は16進形式の生バイトシーケンスです。 .as_utf8Formulaを追加すると、UTF-8文字列にデコードできます。

ruby
decrypted_string =  workato.aes_gcm_decrypt(encrypted_string, key128, auth_tag, iv, auth_data).as_utf8  # "text_to_encrypt"

after_error_response

HTTPリクエストにチェーンして、失敗したリクエストをrescueできます。 エラー処理を参照してください。


after_response

HTTPリクエストにチェーンして、レスポンスのヘッダーなどを利用できます。 エラー処理を参照してください。


ago

過去の時点に戻します。 タイムスタンプを返します。

ruby
2.days.ago #2017-01-15T12:30:00.000000-07:00 if time now is 2017-01-17T12:30:00.000000-07:00
30.minutes.ago #2017-01-15T12:30:00.000000-07:00 if time now is 2017-01-15T13:00:00.000000-07:00
30.seconds.ago #2017-01-15T12:30:00.000000-07:00 if time now is 2017-01-15T12:30:30.000000-07:00

agoメソッド定義を参照してください。


all?

コレクションの各要素を指定されたブロックに渡します。 ブロックがfalseまたはnilを一度も返さない場合、このメソッドはtrueを返します。

ruby
%w[ant bear cat].all? { |word| word.length >= 3 } #=> true

all?メソッド定義を参照してください。


as_string

バイトシーケンスを指定されたエンコーディングの文字列としてデコードします。

ruby
"0J/RgNC40LLQtdGC\n".decode_base64.as_string('utf-8')

as_utf8

バイトシーケンスをUTF-8文字列としてデコードします。

ruby
"0J/RgNC40LLQtdGC\n".decode_base64.as_utf8

aws.generate_signature

AWSサービス用のAWS V4 Signatureを生成し、リクエストを作成するためのURLと署名を含むハッシュを返します。

ruby
aws.generate_signature(
   connection: connection,
   service: "s3",
   region: connection["aws_region"],
   host: "s3.dualstack.#{connection['aws_region']}.amazonaws.com",
   method: "GET",
   path: "/demo",
   params: {
     "list-type": 2,
     "max-keys": 1000
   }.compact,
   headers: {
     Test: "hello!"
   },
   payload: {
     hello: "world"
   }.to_json
 )

AWS認証を参照してください。


blank?

値がnullまたは空の文字列の場合はtrueを返し、それ以外の場合はfalseを返します。


binary?

値がバイナリ配列の場合はtrueを返します。


beginning_of_hour

指定されたタイムスタンプの時間の始まりのタイムスタンプを返します。

ruby
"2017-06-01T16:56:00.000000-07:00".to_time.beginning_of_hour #2017-06-01T16:00:00.000000 +0000

beginning_of_day

指定されたタイムスタンプの午前0時のタイムスタンプを返します。

ruby
"2017-06-08T22:30:10.000000-07:00".to_time.beginning_of_day #2017-06-08T00:00:00.000000 +0000

beginning_of_week

指定されたタイムスタンプについて、週の開始(月曜)の午前0時のタイムスタンプを返します。

ruby
"2017-08-18T00:00:00.000000-07:00".to_time.beginning_of_week #2017-08-14T00:00:00.000000 +0000

beginning_of_month

指定されたタイムスタンプについて、月の開始の午前0時のタイムスタンプを返します。

ruby
"2017-01-30T22:35:00.000000-07:00".to_time.beginning_of_month #2017-01-01T00:00:00.000000 +0000

beginning_of_year

指定されたタイムスタンプについて、年の開始の午前0時のタイムスタンプを返します。

ruby
"2017-01-30T22:35:00.000000 -07:00".to_time.beginning_of_year #2017-01-01T00:00:00.000000 +0000

bytes

指定された文字列のバイト配列を返します。

ruby
"Hello".bytes # ["72","101","108","108","111"]

bytesize

指定された文字列の長さをバイト単位で返します。

ruby
"Hello".bytesize # 5

byteslice

長さではなく、指定されたバイトの部分文字列を返します。 場合によっては、非ASCII文字(たとえば日本語や中国語の文字)が複数のバイトを使用することがあります。

ruby
"abc漢字".byeslice(0,4) # "abc漢"

bytesliceメソッド定義を参照してください。


capitalize

文字列の最初の文字を大文字にします。


case_sensitive_headers

HTTPメソッドにチェーンして、大文字と小文字を区別するヘッダーを導入できます。 デフォルトでは、WorkatoはRFC仕様に従い、ヘッダーの大文字と小文字の区別を考慮しません。

ruby
get("https://www.example.com").case_sensitive_headers("HeLlo": "world")

checkpoint!

reinvoke_afterと同様に、checkpoint!メソッドはファイルストリームを消費するアクションで使用されます。 呼び出されると、Workatoはアクションの実行時間を確認します。 120秒を超える場合、Workatoは公平な処理を確保するためにわずかな遅延を加えてアクションレベルのタイムアウトを更新します。

これにより、現在の180秒のタイムアウト制限を超えるファイルを転送できます。


chunk

項目を列挙し、ブロックの戻り値に基づいてまとめてチャンク化します。

chunkメソッド定義を参照してください。


chunk_while

チャンク化された各要素の列挙子を作成します。 チャンクの開始はブロックによって定義されます。

chunk_whileメソッド定義を参照してください。


collect

enum内の各要素に対してブロックを1回実行した結果を含む新しい配列を返します。

collectメソッド定義を参照してください。


collect_concat

enum内の各要素に対してブロックを1回実行した連結結果を含む新しい配列を返します。

collect_concatメソッド定義を参照してください。


compact

nilではない値を持つハッシュを返します。

compactメソッド定義を参照してください。


count

指定された値に一致する配列内の要素数を返します。

ruby
["apple", "orange", "apple", "banana", "apple"].count("apple")

詳細については、countメソッド定義を参照してください。


csv.parse

CSV文字列をJSON配列に解析し、データピルとして簡単に表示できるようにします。

ruby
workato.csv.parse("blue;1\nwhite;2\n", headers: "color;count", col_sep: ";")

7つの引数を取ります。

  • string

  • 解析するCSV文字列を表すメソッドの最初の位置。

  • headers

  • true(実際のCSVの最初の行がヘッダーとして使用されます)、stringarray(各列ヘッダーに対応)、またはstring(適切な列区切り文字を含むCSVの人工的な最初の行)のいずれか。

  • col_sep

  • CSV内の列区切り文字。 デフォルトは,です。

  • row_sep

  • CSV内の行区切り文字。 デフォルトは\nです。

  • quote_char

  • CSV内の引用文字。 デフォルトは二重引用符"です。

  • skip_blanks

  • 文字列入力内の空行を無視するかどうかを示すブール値。 デフォルトはfalseです。

  • skip_first_line

  • 最初の行をスキップするかどうかを示すブール値。 headersがtrueの場合に便利です。

制限: ファイルサイズは30 MB未満、CSV行数は65K未満である必要があります。


csv.generate

JSON配列からCSV文字列を生成し、ファイルとしてダウンストリームシステムに送信できるようにします。

ruby
workato.csv.generate(headers: ["color", "amount"], col_sep: ";") do |csv|
  csv << [:blue, 1]
  csv << [:white, 2]
end

5つの引数を取ります。

  • headers

  • true(実際のCSVの最初の行がヘッダーとして使用されます)、stringarray(各列ヘッダーに対応)、またはstring(適切な列区切り文字を含むCSVの人工的な最初の行)のいずれか。

  • col_sep

  • CSV内の列区切り文字。 デフォルトは,です。

  • row_sep

  • CSV内の行区切り文字。 デフォルトは\nです。

  • quote_char

  • CSV内の引用文字。 デフォルトは二重引用符"です。

  • force_quotes

  • 各出力フィールドを引用符で囲むかどうかを決定するブール値。

最後に、このCSVに個々の行を文字列の配列として追加できるlambdaを1つ取ります。


cycle

指定された回数だけ配列を巡回し、各要素に対してブロックを呼び出します。

cycleメソッド定義を参照してください。


decode_base64

Base64アルゴリズムを使用してデコードします。


decode_hex

16進数をバイナリ文字列にデコードします。


decode_url

文字列をURLデコードします。 このFormulaはURLデコードにCGI.unescapeを使用します。


decode_urlsafe_base64

Base64アルゴリズムのURLセーフな変更を使用してデコードします。


decrypt

AES-256-CBCアルゴリズムを使用して暗号化された文字列を復号します。 入力はRNCryptor V3形式である必要があります。

このメソッドは文字列ではなくバイト配列を返します。 Formulaに.as_string()または.as_utf8関数を追加すると、decryptメソッドの出力を文字列に変換できます。


deep_merge

ネストされた子ハッシュを含めて、ハッシュを別のハッシュとマージします。

deep_mergeメソッド定義を参照してください。


delete_at

配列内の要素を削除します。

delete_atメソッド定義を参照してください。


detect

配列内の各要素をブロックに渡します。 ブロックを満たす最初の要素を返します。

detectメソッド定義を参照してください。


dig

渡されたインデックスに対応する値オブジェクトを取得します。

digメソッドは、ネストされた配列やハッシュの階層を取り除くためによく使用されます。 たとえば、XMLデータ形式を扱う場合にdigメソッドをよく使用します。

digメソッド定義を参照してください。


drop

Enumeratorから最初のN個の要素を削除し、残りの要素を配列で返します。

ruby
[1, 2, 3, 4, 5, 0].drop(3) #=> [4, 5, 0]

dropメソッド定義を参照してください。


drop_while

ブロックがnilまたはfalseを返す配列の最初の要素までの要素を削除しますが、その要素自体は含みません。

drop_whileメソッド定義を参照してください。


dst?

指定されたタイムゾーンで時刻が夏時間内にある場合はtrueを返します。


each

基本的なイテレーター。

ruby
[1, 2, 3].each { |i| puts i }

each_byte

指定された文字列の各バイトを指定されたブロックに渡します。ブロックが指定されていない場合は列挙子を返します。

each_byteメソッド定義を参照してください。


each_char

指定された文字列の各文字を指定されたブロックに渡します。 ブロックが指定されていない場合は列挙子を返します。

each_charメソッド定義を参照してください。


each_cons

連続するN個の要素の各配列に対して、指定されたブロックを反復実行します。 ブロックが指定されていない場合は列挙子を返します。

each_consメソッド定義を参照してください。


each_entry

配列を反復処理し、ブロック内で各要素を返します。

each_entryメソッド定義を参照してください。


each_slice

N個の要素の各スライスに対して、指定されたブロックを反復実行します。 ブロックが指定されていない場合は列挙子を返します。

each_sliceメソッド定義を参照してください。


each_with_index

インデックス付きで返されるイテレーター。

ruby
[1, 2, 3].each_with_index { |item, index| puts "#{index}:#{item}" }

each_with_indexメソッド定義を参照してください。


each_with_object

定義可能なオブジェクト付きで返されるイテレーター。

ruby
[%w(foo bar)].each_with_object({}) { |str, hsh| hsh[str] = str.upcase }
# => {'foo' => 'FOO', 'bar' => 'BAR'}

each_with_objectメソッド定義を参照してください。


encode_hex

バイナリ文字列を16進表現に変換します。

ruby
"0J/RgNC40LLQtdGC\n".decode_base64.encode_hex

encode_sha256

SHA256アルゴリズムを使用してエンコードします。 出力はバイナリ文字列です。 16進表現に変換するにはencode_hexを使用します。

ruby
"hello".encode_sha256 #=> 0x2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
"hello".encode_sha256.encode_hex #=> 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

encode_sha512

SHA512アルゴリズムを使用してエンコードします。 出力はバイナリ文字列です。 16進表現に変換するにはencode_hexを使用します。

ruby
"hello".encode_sha512 #=> 0x9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
"hello".encode_sha512.encode_hex #=> 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043

encode_base64

Base64アルゴリズムを使用してエンコードします。


encode_url

文字列をURLエンコードします。

ruby
'Hello World'.encode_url # 'Hello%20World'

encode_urlsafe_base64

Base64アルゴリズムのURLセーフな変更を使用してエンコードします。


encode_www_form

ハッシュをURLエンコードされたパラメータ文字列に結合します。

ruby
{"apple" => "red green", "2" => "3"}.encode_www_form #"apple=red+green&2=3"

ends_of_month

月末を表す新しい日付/時刻を返します。

ruby
"2017-08-18T00:00:00".to_time.end_of_month #2017-08-31 23:59:59 +0000

ends_with?

文字列が特定のパターンで終わる場合はtrueを返します。 それ以外の場合はfalseです。

ruby
"Hello!".ends_with?("!") #true

entries

enum内の項目を含む配列を返します。

ruby
(1..7).entries #=> [1, 2, 3, 4, 5, 6, 7]
{ 'a'=>1, 'b'=>2, 'c'=>3 }.entries   #=> [["a", 1], ["b", 2], ["c", 3]]

entriesメソッド定義を参照してください。


error

ユーザー定義のエラー本文を使用してジョブエラーを発生させます。

ruby
error("Unable to find Account with ID: 123")

even?

整数が偶数の場合はtrueを返します。

even?メソッド定義を参照してください。


except

指定されたキー以外のすべてを含むハッシュを返します。

ruby
{ name: "Jake", last_name: "Paul", age: "22" }.except(:name, :last_name) # { :age => "22" }

exceptメソッド定義を参照してください。


exclude?

フィールドに値が含まれていない場合はtrueを返します。 大文字と小文字を区別します。

ruby
"Partner account".exclude?("Partner") #false

excludeメソッド定義を参照してください。


execution_context

制限付きメソッドの利用可否

このメソッドは、Embeddedパートナーのワークスペース内で構築されたコネクタでのみ使用できます。 このアクションまたはトリガーが呼び出されたレシピとジョブのコンテキストを含むハッシュを返します。 該当するコンテキストがない場合、たとえばトリガーでリクエストが送信されたときのジョブIDなどでは、キーの値はnullになります。

次の表は、lambdaとexecution_contextの戻り値をまとめたものです。

キーrecipe_idjob_id
executeはいはい
methods(execute内で呼び出される各メソッド)はいはい
apply(execute lambdaで送信されるリクエスト)はいはい
pollはいいいえ
methods(poll内で呼び出される各メソッド)はいいいえ
apply(poll lambdaで送信されるリクエスト)はいいいえ
object_definitions(定義された各fieldsメソッド)いいえいいえ
pick_lists(定義された各pick_listメソッド)いいえいいえ
methods(pick_listsまたはobject_definitions内で呼び出される各メソッド)いいえいいえ

execution_contextメソッドを使用して実行コンテキストを参照できます。

ruby
execution_context #=> { :recipe_id => "1234", :job_id => "j-ATh8ngzP-f69ak9" }
execution_context[:recipe_id] #=> "1234"
execution_context[:job_id] #=> "j-ATh8ngzP-f69ak9"

fetch

指定されたキーに対応するハッシュ内の値を返します。

fetchメソッド定義を参照してください。


find_all

ブロックで示された条件を満たすハッシュまたは配列のすべての要素を含む配列を返します。

ruby
Foo = { :abc => 1, :bad => [1,2] }
Foo.find_all { |i| i[0] == :abc } # [[:abc, 1]]

find_allメソッド定義を参照してください。


find_index

配列内の各要素を指定されたブロックと比較し、最初に一致した要素のインデックスを返します。

ruby
(1..100).find_index { |i| i % 5 == 0 and i % 7 == 0 }  #=> 34

find_indexメソッド定義を参照してください。


first

リスト内の最初の項目を返します。 リスト内の最初のn個の項目を返すためにも使用できます。

firstメソッド定義を参照してください。


flatten

多次元配列を単純な配列に平坦化します。

ruby
[[1, 2, 3],[4,5,6]].flatten #[1, 2, 3, 4, 5, 6]

flattenメソッド定義を参照してください。


flat_map

enum内の各要素に対してブロックを1回実行した連結結果を含む新しい配列を返します。

ruby
[[1, 2], [3, 4]].flat_map { |e| e + [100] } #=> [1, 2, 100, 3, 4, 100]

flat_mapメソッド定義を参照してください。


follow_redirection

デフォルトでは、ほとんどの3XXリダイレクトHTTPコードに従います。 場合によっては、任意のレスポンスコードのリダイレクトに従うためにこれを適用する必要があります。

ruby
    action_with_follow_redirection: {
      execute: lambda do |_connection, _input|
 get('https://run.mocky.io/v3/41abc094-6b10-41a9-8201-b15146258b12').follow_redirection.after_response do |code, body, headers|
   {
     code: code,
     body: body,
     headers: headers
   }
 end
      end
    }

format_json

リクエストをJSON形式に変換し、レスポンス本文をJSON形式で期待します。


format_map

入力配列内の各項目にフォーマットを適用して、新しい文字列配列を作成します。

ruby
[[{name: 'Jake', age: 23}].format_map('Name: %{name}, Age: %{age}') #['Name: Jake, Age: 23']
[[22, 45], [33, 88]].format_map('Id: %s, Count: %s') #['Id: 22, Count: 45', 'Id: 33, Count: 88']
['Alex', 'Hao', 'Kai'].format_map('Name: %s') #['Name: Alex', 'Name: Hao', 'Name: Kai']

format_mapメソッド定義を参照してください。


format_xml

リクエストをXML形式に変換し、レスポンス本文をXML形式で期待します。

3つの引数を取ります。

  • root_element_name

  • 送信XMLペイロードにルート要素タグを追加します。

  • namespaces

  • 名前空間用にペイロードへ追加のタグを追加します。

  • strip_response_namespaces

  • XMLレスポンスから名前空間を削除します。


from_now

未来の時点に進めます。 Formulaが実行された時点に、指定された期間を太平洋時間(UTC-8/UTC-7)で加算したタイムスタンプを返します。

ruby
4.months.from_now #2017-05-23T14:40:07.338328-07:00
2.days.from_now #2017-01-05T14:40:07.338328-07:00
30.minutes.from_now
12.seconds.from_now

from_xml

XML文字列をハッシュに変換します。

ruby
"<?xml version="1.0" encoding="UTF-8"?> <hash><foo type="integer"></foo></hash>".from_xml # { "hash": [ "foo": [ { "@type": "integer", "content!": "1" } ] ] }

grep

条件を満たすすべての要素について列挙子を検索します。

grepメソッド定義を参照してください。


grep_v

条件を満たさないすべての要素について列挙子を検索します。

grep_vメソッド定義を参照してください。


group_by

配列をセットにグループ化します。

group_byメソッド定義を参照してください。


gsub

パターンを値で置換します。 大文字と小文字を区別します。

ruby
"Jean Marie".gsub(/J/, "M") #"Mean Marie"

gsubメソッド定義を参照してください。


has_key?

指定されたキーがハッシュ内に存在する場合はtrueを返します。

has_key?メソッド定義を参照してください。


headers

リクエストにヘッダーを追加します。

ruby
.headers(Authorization: "Bearer HTB674HJK1")

hmac_md5

HMAC_MD5署名を作成します。

ruby
"username:password:nonce".hmac_md5("key")

hmac_sha1

HMAC_SHA1署名を作成します。

ruby
"username:password:nonce".hmac_sha1("key")

hmac_sha256

HMAC_SHA256署名を作成します。

ruby
"username:password:nonce".hmac_sha256("key")

hmac_sha512

HMAC_SHA512署名を作成します。

ruby
"username:password:nonce".hmac_sha512("key")

ignore_redirection

リクエストがすぐにリダイレクトされないようにします。 リクエストがファイルをダウンロードするためにAWS S3などのセカンダリサイトへリダイレクトされる場合によく使用されます。 "current_url"を使用して、apply:キーで使用されている認証を取り除く必要があります。

ruby
    action_with_ignore_redirection: {
      execute: lambda do |_connection, _input|
 get('https://run.mocky.io/v3/41abc094-6b10-41a9-8201-b15146258b12').ignore_redirection.after_response do |code, body, headers|
   {
     code: code,
     body: body,
     headers: headers
   }
 end
      end
    },

ignored

カンマ区切りのフィールドリストを無視します。

ruby
object_definition["user"].ignored("id", "created_at")

include?

フィールドに値が含まれている場合はtrueを返します。 それ以外の場合はfalseです。

include?メソッド定義を参照してください。


inject

操作を使用して配列内の要素を結合します。

injectメソッド定義を参照してください。


insert

配列に要素を挿入します。

insertメソッド定義を参照してください。


in_time_zone

時刻を指定されたタイムゾーンに変換します。

ruby
"2017-09-06T18:30:15.671720-05:00".to_time.in_time_zone("America/Los_Angeles") #"2017-09-06T16:30:15.671720-07:00"

is_a?

classがobjのクラスである場合、またはclassがobjのスーパークラスまたはobjに含まれるモジュールのいずれかである場合はtrueを返します。

Workatoは現在、次のクラスをサポートしています。

  • 配列
  • ハッシュ
  • 時刻
  • 文字列
  • 整数
  • Float

is_a?メソッド定義を参照してください。


is_true?

値をブール値に変換し、値がtruthyの場合はtrueを返します。


is_not_true?

値をブール値に変換し、値がtruthyでない場合はtrueを返します。


iso8601

日付/日時変数をISO8601形式に変換します。


join

配列要素を文字列に結合します。

joinメソッド定義を参照してください。


jwt_decode

次のいずれかのアルゴリズムを使用してJSON Web Token(JWT)をデコードします。

  • RS256
  • RS384
  • RS512
  • HS256
  • HS384
  • HS512
  • ES256
  • ES384
  • ES512
ruby
workato.jwt_decode( "eyJhbGciO...", "PEM key", \'RS256\') # => {"payload" => {"sub"=>"123", "name"=>"John", ...}, "header" => {"typ"=>"JWT", "alg"=>"RS256"}}
workato.jwt_decode( "eyJhbGciO...", "PEM key", \'RS512\') # => {"payload" => {"sub"=>"123", "name"=>"John", ...}, "header" => {"typ"=>"JWT", "alg"=>"RS512"}}
workato.jwt_decode( "eyJhbGciO...", "my$ecretK3y", \'HS256\') # => {"payload" => {"sub"=>"123", "name"=>"John", ...}, "header" => {"typ"=>"JWT", "alg"=>"HS256"}}

jwt_encode

次のいずれかのアルゴリズムを使用してJSON Web Token(JWT)を作成します。

  • RS256
  • RS384
  • RS512
  • HS256
  • HS384
  • HS512
  • ES256
  • ES384
  • ES512

次の例のkidなど、その他の名前付きパラメータをヘッダーに追加します。

ruby
workato.jwt_encode({ name: "John Doe" }, "PEM key", 'RS256') # => "eyJhbGciO..."
workato.jwt_encode({ name: "John Doe" }, "PEM key", 'RS512', kid: "24668") #=> "eyJ0eXAiO..."
workato.jwt_encode({ name: "John Doe" }, "my$ecretK3y", 'HS256', kid: "24668") #=> "eyJ0eXAiO..."
workato.jwt_encode({ name: "John Doe" }, "my$ecretK3y", 'HS256') #=> "eyJ0eXAiO..."
workato.jwt_encode({ name: "John Doe" }, "ECDSA Key", 'ES256') #=> "eyJhbGciOiJ..."

last

リスト内の最後の項目を返します。 リスト内の最後のn個の項目を返すためにも使用できます。

lastメソッド定義を参照してください。


ljust

文字列を左揃えにし、必要な長さになるまで空白または指定されたパターンで埋めます。

ruby
" test".ljust(10, "*") # " test*****"

ljustメソッド定義を参照してください。


lookup

Workatoで定義されたルックアップ テーブルからレコードをルックアップします。

ruby
lookup('States list', 'State code': 'AZ')['State name'] #"Arizona"

lookupメソッド定義を参照してください。


lstrip

文字列の先頭から空白を削除します。

ruby
"     Test     ".lstrip #"Test     "

lstripメソッド定義を参照してください。


map

各要素に対してブロックを呼び出した後の新しい配列を返します。


md5_hexdigest

MD5 Message-Digest Algorithmを使用してメッセージダイジェストを作成します。

ruby
"hello".md5_hexdigest #5d41402abc4b2a76b9719d911017c592

match?

文字列にパターンが含まれている場合はtrueを返します。 大文字と小文字を区別します。

ruby
"Jean Marie".match?(/Marie/) #true

max_by

指定されたブロックから最大値を与えるenum内のオブジェクトを返します。

ruby
%w(albatross dog horse).max_by { |x| x.length } # albatross

member?

include?のエイリアス。

member?メソッド定義を参照してください。


merge

マージされた内容を含む新しいハッシュを返します。

mergeメソッド定義を参照してください。


minmax

enumerable内の最小値と最大値を含む2要素の配列を返します。

ruby
a = %w(albatross dog horse)
a.minmax    #=> ["albatross", "horse"]
a.minmax { |a, b| a.length <=> b.length }
#=> ["dog", "albatross"]

minmaxメソッド定義を参照してください。


minmax_by

指定されたブロックからそれぞれ最小値と最大値に対応するenum内のオブジェクトを含む2要素の配列を返します。

ruby
a = %w(albatross dog horse)
a.minmax_by { |x| x.length }   #=> ["dog", "albatross"]

minmax_byメソッド定義を参照してください。


min_by

指定されたブロックから最小値を与えるenum内のオブジェクトを返します。

ruby
a = %w(albatross dog horse)
a.min_by { |x| x.length }   #=> "dog"

min_byメソッド定義を参照してください。


net.lookup

指定されたホストの指定されたDNSレコードをルックアップします。

ruby
workato.net.lookup("www.google.com", "A") # => [{"address": "172.253.122.106"}, {"address":"172.253.122.103"}]

2つの引数を取ります。

  • name

  • ドメインやホストなどのリソース名。

  • レコードタイプ

  • "SRV"または"A" DNSレコードタイプのみをサポートします


next

列挙子内の次のオブジェクトを返し、内部位置を前に進めます。

これは、lambda関数が実行される前に入力をチェックするガード句を追加する方法としてnextを使用できるconfig_fieldsでよく使用されます。

ruby
object_definitions: {
  document: {
    fields: lambda do |connection, config_fields, object_definitions|
      next [] if config_fields.blank?
      get("https://www.webmerge.me/api/documents/#{config_fields["document_id"]}/fields").map {
 |field| field.slice("name")
      }
    end
  }
}

nextメソッド定義を参照してください。


none?

コレクションの各要素を指定されたブロックに渡します。 すべての要素に対してブロックがtrueを一度も返さない場合、このメソッドはtrueを返します。

ruby
%w{ant bear cat}.none? { |word| word.length == 5 } #=> true

none?メソッド定義を参照してください。


now

Formulaが実行された時点のタイムスタンプを太平洋時間(UTC-8/UTC-7)で返します。

ruby
now #2017-01-23T14:04:53.365908-08:00
now + 2.days #2017-01-25T14:04:53.365908-08:00

odd?

整数が奇数の場合はtrueを返します。 odd?メソッド定義を参照してください。


one?

コレクションの各要素を指定されたブロックに渡します。 ブロックがちょうど1回trueを返す場合、このメソッドはtrueを返します。

ruby
[ nil, true, false ].one? #=> true

one?メソッド定義を参照してください。


only

カンマ区切りのフィールドリストをホワイトリストに登録します。

ruby
object_definition["user"].only("id", "name")

ordinalize

数値を、first、second、third、fourthなど順序付きシーケンス内の位置を示す序数文字列に変換します。

ruby
"1".ordinalize # "First"

pack

配列の内容をバイナリシーケンスにパックします。

packメソッド定義を参照してください。


parallel

リクエストの配列を受け入れ、複数のスレッドで実行できるようにします。

ruby
batches = (0..200).map do |batch|
  post(url).headers(headers).request_body(payload)
end
results = parallel(batches, threads: 20)

詳細については、マルチスレッドアクションを参照してください。


parameterize

文字列内の特殊文字を置換します。

ruby
"öüâ".parameterize #"oua"

params

リクエストにパラメータを追加します。

ruby
.params(api_key: "HTB674HJK1")

parse_json

json.parseと同じように動作します。

parse_jsonメソッド定義を参照してください。


parse_yaml

YAML文字列を解析します。 true、false、nil、数値、文字列、配列、ハッシュをサポートします。

ruby
workato.parse_yaml("---\nfoo: bar") # => { "foo" => "bar" }

payload

リクエストにペイロードを追加します。

ruby
.payload(id: "345")

pbkdf2_hmac_sha1

パスワードとソルトを使用して、さまざまなビット長のキーを作成します。 HMAC Sha1を使用します。

ruby
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
key192 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8), 1000, 24)
key256 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8), 1000, 32)

pluck

オブジェクトの配列から1つ以上の属性を選択します。

ruby
[
  {"id": 1, "name": "David"},
  {"id": 2, "name": "Peter"}
].pluck("id")

[1, 2]を返します。


pluralize

文字列内の単語の複数形を返します。

pluralizeメソッド定義を参照してください。


pop

selfから最後の要素を削除して返します。配列が空の場合はnilを返します。

数値nが指定された場合、最後のn個以下の要素の配列を返し、それを配列から削除します。

ruby
a = [ "a", "b", "c", "d" ]
a.pop     #=> "d"
a.pop(2)  #=> ["b", "c"]
a  #=> ["a"]

popメソッド定義を参照してください。


presence

存在する場合は値を返します。 それ以外の場合はnilを返します。

ruby
nil.presence #nil
"".presence #nil
0.presence #0

presenceメソッド定義を参照してください。


present?

フィールドに値がある場合はtrueを返します。 それ以外の場合はfalseです。

ruby
nil.present? #false
"".present? #false
0.present? #true

present?メソッド定義を参照してください。


puts

Rubyバージョンのconsole.logまたはstdoutです。 putメソッドとは異なります。

putsメソッドを使用した出力は、コードエディターでテストする際にコンソールログに表示されます。 デバッグの支援に使用します。


rand

0から1までの乱数。


random_bytes

指定された数のランダムバイトを生成します。

ruby
workato.random_bytes(8)

reduce

ブロック、またはメソッドや演算子の名前を指定するシンボルによって指定された二項演算を適用して、enumのすべての要素を結合します。

ruby
(5..10).reduce { |sum, n| sum + n } # 45

reduceメソッド定義を参照してください。


reinvoke_after

非同期APIを扱う複数ステップのアクションで使用されます。 このメソッドを呼び出すと、呼び出し元の元のexecute lambdaを再呼び出しする前に、ジョブが特定の間隔だけ一時停止します。 ジョブを一時停止する時間を示すsecondsと、追加のコンテキストでジョブを再呼び出しできるようにするcontinueを受け入れます。

ruby
reinvoke_after(
  seconds: step_time,
  continue: {
    current_step: current_step + 1,
    jobid: response['jobReference']['jobId']
  }
)

詳細については、マルチステップアクションを参照してください。


reject

ブロックがfalseを返す要素を選択的に返します。 selectと似ていますが逆です。

rejectメソッド定義を参照してください。


render_yaml

オブジェクトをYAML文字列にレンダリングします。

ruby
workato.render_yaml({ "foo" => "bar" }) # => "---\nfoo: bar\n"

response_format_json

レスポンスをJSON形式で期待します。


response_format_raw

レスポンスをraw形式で期待します。 これは、レスポンスとしてバイナリデータ(PDFや画像など)を期待するHTTPアクションの後にチェーンできます。


response_format_xml

レスポンスをXML形式で期待します。 1つの引数を取ります。

  • strip_response_namespaces
  • XMLレスポンスから名前空間を削除します。

request_format_json

リクエストをJSON形式に変換します。


request_format_multipart_form

リクエストをmultipart_form形式に変換します。


request_format_raw

リクエストをraw形式に変換します。


request_format_www_form_urlencoded

リクエストをURLエンコード形式に変換します。


request_format_xml

リクエストをXML形式に変換します。

2つの引数を取ります。

  • root_element_name

  • 送信XMLペイロードにルート要素タグを追加します。

  • namespaces

  • 名前空間用にペイロードへ追加のタグを追加します

required

カンマ区切りのフィールドリストを必須にします。

ruby
object_definition["user"].required("id", "created_at")

reverse

文字列または配列を反転します。


reverse_each

一時配列を構築し、その配列を逆順に走査します。

reverse_eachメソッド定義を参照してください。


rjust

文字列を右揃えにし、指定された長さになるまで空白またはパターンで埋めます。

ruby
"test".rjust(5) #" test"
"test".rjust(10, "*!") #"*!*!* test"

rjustメソッド定義を参照してください。


round

通常の丸め規則に従って数値を丸めます。

ruby
11.99.round #12
11.555.round(2) #11.56

roundメソッド定義を参照してください。


rsa_sha256

RS256署名(RSAキーで署名されたSHA256ハッシュ)を作成します

ruby
input['StringToSign'].rsa_sha256(rsa_private_key).base64

rsa_sha512

RS512署名(RSAキーで署名されたSHA512ハッシュ)を作成します。

ruby
input['StringToSign'].rsa_sha512(rsa_private_key).base64

rstrip

文字列の末尾から空白を削除します。

ruby
" Test ".rstrip #" Test"

rstripメソッド定義を参照してください。


scan

一致するパターンについて文字列をスキャンします。

ruby
"Thu, 01/23/2014".scan(/\d+/).join("-") #01-23-2014

scanメソッド定義を参照してください。


scrub

文字列が無効なバイトシーケンスの場合は、無効なバイトを指定された置換文字で置き換えます。それ以外の場合はselfを返します。

ruby
"abc\u3042\x81".scrub("*") # "abc\u3042*"

scrubメソッド定義を参照してください。


select

ブロックがtrueを返す要素を選択的に返します。

selectメソッド定義を参照してください。


SHA1

SHA1暗号化アルゴリズムを使用して、指定された文字列を暗号化します。

ruby
"abcdef".sha1.encode_base64 # "H4rBDyPFtbwRZ72oS4M+XAV6d9I="

SHA1メソッド定義を参照してください。


singularize

pluralizeの逆です。 文字列内の単語の単数形を返します。

ruby
'posts'.singularize # => "post"

singularizeメソッド定義を参照してください。


slice

開始インデックスと長さで定義された、指定された文字列の部分文字列を返します。

ruby
"Jean Marie\.slice(0,3) #"Jea"

sliceメソッド定義を参照してください。


slice_after

特定の値の後で配列をスライスします。

ruby
["a", "b", "c"].slice_after("b").to_a # [["a", "b"], ["c"]]

slice_afterメソッド定義を参照してください。


slice_before

特定の値の前で配列をスライスします。

ruby
["a", "b", "c"].slice_before("b").to_a # [["a"], ["b", "c"]]

slice_beforeメソッド定義を参照してください。


slice_when

チャンク化された各要素の列挙子を作成します。

ruby
[1,2,4,9,10,11].slice_when { |i,j| i+1 != j}.to_a # [[1, 2], [4], [9, 10, 11]]

slice_whenメソッド定義を参照してください。


smart_join

配列を文字列に結合します。 空の値とnil値を削除します。 結合前に空白をトリミングします。

ruby
[nil, " ", " Hello ", "   World "].smart_join(" ") #Hello World

smart_joinメソッド定義を参照してください。


sort

新しいソート済み配列を返すソート関数。

sortメソッド定義を参照してください。


sort_by

selfを返すソート関数。

sort_byメソッド定義を参照してください。


split

定義されたパターンを区切り文字として使用し、文字列を配列に分割します。

ruby
"Split string".split() #["Split", "string"]
"Split string".split("t") #["Spli", " s", "ring"]

splitメソッド定義を参照してください。


stream.out

Workatoのファイルストリーミング対応コネクタのいずれかと連携する、ファイルストリームを生成するアクションで使用されます。 このメソッドを呼び出すと、ダウンストリームアクションがファイルをダウンロードするときに呼び出されるstreamingコールバックを指定できます。

ruby
workato.stream.out("download_file", { file_id: file_id })

詳細については、ファイルストリーミングを参照してください。


stream.​in

Workatoのファイルストリーミング対応コネクタのいずれかと連携する、ファイルストリームを消費するアクションで使用されます。 このメソッドを呼び出すと、ファイルストリームを利用してファイルをチャンク単位でアップロードできるコードブロックを指定できます。

このメソッドは3つの引数を取ります。

  1. 最初の位置引数は、前のアクションからのファイル内容です
  2. 0のデフォルトオフセットを上書きするために使用されるfrom。 これは複数ステップのストリーミングの実装で使用されます
  3. ストリームプロデューサーから要求されるサイズを上書きするために使用されるframe_size
ruby
workato.stream.in(input["file"], from: previous_offset, frame_size: required_frame_size) do |chunk, starting_byte_range, ending_byte_range, eof, next_starting_byte_range|
  put("/file/#{input['file_id']}").
    headers("Content-Range": "byte #{starting_byte_range}-#{ending_byte_range}/*").
    request_body(chunk).
    presence
end

詳細については、ファイルストリーミングを参照してください。


strip

文字列の先頭と末尾から空白を削除します。

ruby
"    This is an example   ".strip #"This is an example"

stripメソッド定義を参照してください。


strip_tags

文字列からhtmlタグを削除します。

ruby
"<html><body>Double bubble</body></html>".strip_tags #"Double bubble"

strftime

%-プレースホルダーを使用して日付または時刻をフォーマットします。


sub

パターンの最初の出現箇所を値で置換します。

ruby
"Mean Marie".sub(/M/, "J") #"Jean Marie"
"Hello".sub(/[aeiou]/, "\*") #"H*llo"

suspend

このメソッドは再開待機アクションで使用されます。 これらのアクションは、長時間実行プロセスの完了時にAPIリクエストを送信できる外部システムと連携します。 このメソッドを呼び出すと、WorkatoがDeveloper APIへの対応するリクエストを受信するまで、または指定された一時停止時間が期限切れになるまで、ジョブが一時停止されます。

ruby
suspend(
  continue: {
    "state" => "suspended",
    "url" => input['url']
  },
  expires_at: 10.minutes.from_now
)

  • continue: このハッシュはbefore_suspendbefore_resumebefore_timeout_resume lambdaに渡されます。
  • expires_at: これは、ジョブが再開リクエストを待機するPST時刻です。 この時刻を過ぎると、ジョブはtimeout呼び出しで続行します。 最大タイムアウトは60日です。

take

配列から最初のN個の要素を返します。

ruby
[1, 2, 3, 4, 5, 0].take(3) #=> [1, 2, 3]

takeメソッド定義を参照してください。


take_while

ブロックがnilまたはfalseを返すまで要素をブロックに渡し、その後反復を停止して、それ以前のすべての要素の配列を返します。

ruby
[1, 2, 3, 4, 5, 0].take_while { |i| i < 3 } #=> [1, 2]

take_whileメソッド定義を参照してください。


tap

xをブロックにyieldし、その後xを返します。

tapメソッドは変換によく使用されます。 たとえば、tapメソッドを使用してwebhookのペイロードを変換できます。 次の例を考えます。

ruby
{
  "id" => {"value" => 1},
  "name" => {"value" => 2}
}

webhookペイロードがこの形式で配信される場合、tapを使用して、よりユーザーフレンドリーなJSONに変換できます。

ruby
webhook_notification: lambda do |input, payload|
  payload.tap do |output|
    output.each { |k, v| output[k] = v["value"] }
  end
end

最終的なJSONは次のようになります: {"id"=>1, "name"=>2}

tapメソッド定義を参照してください。


tls_client_cert

リクエストで使用するTLSキー、TLSクライアント、および中間証明書を指定できます。 単一のリクエストにチェーンして使用することも、applyブロックで一般的に使用することもできます。

ruby
get("https://www.exampleapi.com").
  tls_client_cert(
    certificate: connection['ssl_client_cert'],
    key: connection['ssl_client_key'],
    passphrase: connection['ssl_key_passphrase'],
    intermediates: connection['client_intermediate_certs'] # pass array if there are multiple intermediate certs
  )
ruby
apply: lambda do |connection|
  tls_client_cert(
    certificate: connection['ssl_client_cert'],
    key: connection['ssl_client_key'],
    passphrase: connection['ssl_key_passphrase'],
    intermediates: connection['client_intermediate_certs'] # pass array if there are multiple intermediate certs
  )
end

tls_server_certs

SSLハンドシェイクプロセス中に受け入れるTLSサーバー証明書を指定できます。 これは、自己署名証明書または信頼されていないルートCA証明書に役立ちます。 単一のリクエストにチェーンして使用することも、applyブロックで一般的に使用することもできます。

ruby
get("https://www.exampleapi.com").
  tls_server_certs(
    certificates: [connection['server_ca_cert']], #additional intermediate server certificates can be given.
    strict: false # Set to true to only allow requests from the given server CA cert.
  )
ruby
apply: lambda do |connection|
  tls_server_certs(
    certificates: [connection['server_ca_cert']], #additional intermediate server certificates can be given.
    strict: false # Set to true to only allow requests from the given server CA cert.
  )
end

to_currency

通貨文字列に変換します。

ruby
1234567890.50.to_currency    # $1,234,567,890.50

to_currency_code

alpha-2/3国コードまたは国名をISO4217通貨コードに変換します。

ruby
"India".to_currency_code #INR

to_currency_name

alpha-2/3国コードまたは国名をISO4217通貨名に変換します。

ruby
"India".to_currency_name #Rupees

to_currency_symbol

alpha-2/3国コードまたは国名をISO4217通貨記号に変換します。

ruby
"India".to_currency_symbol # ₨

to_country_alpha2

alpha-3国コードまたは国名をalpha2国コードに変換します。

ruby
"India".to_country_alpha2 #IN
"IND".to_country_alpha2 #IN

to_country_alpha3

alpha-2国コードまたは国名をalpha3国コードに変換します。

ruby
"Australia".to_country_alpha2 #AUS
"AU".to_country_alpha2 #AUS

to_country_name

alpha-2/3国コードまたは国名をISO3166国名に変換します。

ruby
"GB".to_country_name #United Kingdom
"GBR".to_country_name #United Kingdom

to_country_number

alpha-2/3国コードまたは国名をISO3166国番号に変換します。

ruby
"India".to_country_number #356

to_date

文字列またはタイムスタンプを日付に変換します。 フォーマットできます。

ruby
"12/24/2014 10:30 PM".to_date(format: "MM/DD/YYYY")

to_f

floatに変換します。 数値は通常の丸め規則に従って切り上げまたは切り下げられます。

ruby
45.to_f #45.0

to_hex

バイナリ文字列を16進表現に変換します。


to_i

整数に変換します。 小数は常に切り捨てられます。

ruby
45.67.to_i #45

to_json

ハッシュまたは配列をJSON文字列に変換します。

ruby
{"a" => "c d", "2" => "3"}.to_json #"{"a":"c d","2":"3"}"

to_phone

文字列または数値をフォーマット済み電話番号に変換します。

ruby
5551234.to_phone # 555-1234
1235551234.to_phone(area_code: true) # (123) 555-1234
1235551234.to_phone(delimiter: " ") # 123 555 1234
1235551234.to_phone(country_code: 1) # +1-123-555-1234

to_param

URLクエリ文字列として使用する文字列表現を返します。

ruby
{name: 'Jake', age: '22'}.to_param #name=Jake&age=22

to_s

文字列に変換します。

ruby
45.67.to_s #"45.67"

to_state_code

州名をコードに変換します。

ruby
"California".to_state_code #CA

to_state_name

州コードを名前に変換します。

ruby
"CA".to_state_name #"CALIFORNIA"

to_time

文字列または日付をタイムスタンプに変換します。

ruby
"2014-11-21".to_time #2014-11-21 00:00:00 +0000

to_xml

ハッシュまたは配列をXML文字列に変換します。

ruby
{"name" => "Ken"}.to_xml(root: "user") # &#60;user&#62;&#60;name&#62;Ken&#60;/name&#62;&#60;/user&#62;

today

今日の日付。 Formulaが実行された時点の日付を太平洋時間(UTC-8/UTC-7)で返します。

ruby
today #2016-07-13
today + 2.days #2016-07-15

transliterate

非ASCII文字をASCII近似文字に置き換えます。存在しない場合は、デフォルトで'?'の置換文字に置き換えます。

ruby
'Chloé'.transliterate #Chloe

upcase

文字列を大文字に変換します。

ruby
"Convert to UPCASE".upcase #"CONVERT TO UPCASE"

uniq

配列内の一意の項目を返します。

ruby
[1.0, 1.5, 1.0].uniq #[1.0, 1.5]

unpack

文字列を配列にデコードします。

unpackメソッド定義を参照してください。


utc

TimeをUTCタイムゾーンに変換します。

utcメソッド定義を参照してください。


uuid

UUIDを作成します。 リクエストで一意の文字列を送信する場合に便利です。

ruby
workato.uuid #c52d735a-aee4-4d44-ba1e-bcfa3734f553 => "eyJhbGciO..."

wday

1を月曜日とする曜日を返します。


where

指定された条件で配列をフィルターします。


while

whileループ文。

ruby_loopsメソッド定義を参照してください。


wrap

引数がすでに配列でない限り、その引数を配列でラップします。

wrapメソッドは、whileループ文のexecuteブロックでよく使用されます。

ruby
execute: lambda do |connection, input|
{
    accounts: Array.wrap(get("/accounts", input)["records"])
  }
end

これにより、戻り値が何であっても、accounts変数が常に配列になります。 Workatoでは、連携するさまざまなAPIからの予期しない戻り値に備えるために、これをよく使用します。

wrapメソッド定義を参照してください。


yday

年内の日を返します。

ruby
"2016-07-19 10:45:30".to_time.yday #201

yweek

年内の週を返します。

ruby
"2016-07-19 10:45:30".to_time.yweek #29

zip

配列によって呼び出されるメソッドとして使用されます。 任意の引数を配列に変換し、selfの要素を各引数の対応する要素とマージします。

zipメソッド定義を参照してください。

Last updated: