使用可能な Ruby メソッド

Workato の SDK フレームワークでコネクターを構築する際、公開されているすべての Ruby インスタンスメソッドが使用可能なわけではありません。 以下に、コネクターを構築する際に任意のブロックで使用できるホワイトリスト指定された Ruby メソッドのリストを示します。

また、SDK の使用時に任意のブロックで使用するための個人用の再利用可能メソッドを宣言することができます。

事前定義の Ruby メソッド

メソッド説明
at指定の引数を使用して新しい時間オブジェクトを作成します。
詳細については、こちらをご覧ください。
abs数の絶対値を返します。
aes_cbc_encryptCBC モードでの AES 暗号化。128、192、および256ビットのキーを受け付けます。
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
workato.aes_cbc_encrypt("text_to_encrypt", key128)
aes_cbc_decryptCBC モードでの AES 復号。128、192、および256ビットのキーを受け付けます。
workato.aes_cbc_decrypt(128, "text_to_decrypt", key128)
aes_gcm_encryptGCM モードでの AES 暗号化。128、192、および256ビットのキーを受け付けます。
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
workato.aes_gcm_encrypt("text_to_encrypt", key128, "init_vector0")
オプションで、認証データを指定することもできます。
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
workato.aes_gcm_encrypt("text_to_encrypt", key128, "init_vector0", auth_data)
aes_gcm_decryptGCM モードでの AES 復号。128、192、および256ビットのキーを受け付けます。
workato.aes_gcm_decrypt(encrypted_string, key128, auth_tag, "init_vector0")
認証データを使用して暗号化した場合は、auth_token を指定する必要があります。
workato.aes_gcm_decrypt(encrypted_string, key128, auth_tag, "init_vector0", auth_data)
after_error_responseHTTP 要求につなげて、失敗した要求を救済できます。詳細については、こちらをご覧ください
after_responseHTTP 要求につなげて、応答ヘッダーなどを利用できます。詳細については、こちらをご覧ください
ago時間を戻します。タイムスタンプを返します。
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
詳細については、こちらをご覧ください。
all?コレクションの各要素を指定したブロックに渡します。このメソッドは、ブロックが false または nil を返さない場合に true を返します。
%w[ant bear cat].all? { |word| word.length >= 3 } #=> true
https://apidock.com/ruby/Enumerable/all%3F
as_stringバイトシーケンスを指定されたエンコーディングの文字列としてデコードします。
"0J/RgNC40LLQtdGC\n".decode_base64.as_string('utf-8')
as_utf8バイトシーケンスを指定されたエンコーディングの文字列としてデコードします。
"0J/RgNC40LLQtdGC\n".decode_base64.as_string('utf-8')
aws.generate_signatureAWS サービス向けの AWS V4 署名を生成し、要求を作成するための URL と署名を含むハッシュを返します。
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指定されたタイムスタンプの正時のタイムスタンプを返します。
"2017-06-01T16:56:00.000000-07:00".to_time.beginning_of_hour #2017-06-01T16:00:00.000000 +0000
beginning_of_day指定されたタイムスタンプの午前0時のタイムスタンプを返します。
"2017-06-08T22:30:10.000000-07:00".to_time.beginning_of_day #2017-06-08T00:00:00.000000 +0000
beginning_of_week指定されたタイムスタンプの週の最初 (月曜日) の午前0時のタイムスタンプを返します。
"2017-08-18T00:00:00.000000-07:00".to_time.beginning_of_week #2017-08-14T00:00:00.000000 +0000
beginning_of_month指定されたタイムスタンプの月の最初の午前0時のタイムスタンプを返します。
"2017-01-30T22:35:00.000000-07:00".to_time.beginning_of_month #2017-01-01T00:00:00.000000 +0000
beginning_of_year指定されたタイムスタンプの年の最初の午前0時のタイムスタンプを返します。
"2017-01-30T22:35:00.000000 -07:00".to_time.beginning_of_year #2017-01-01T00:00:00.000000 +0000
bytes指定された文字列のバイトの配列を返します。
"Hello".bytes # ["72","101","108","108","111"]
bytesize指定された文字列の長さをバイト単位で返します。
"Hello".bytesize # 5
capitalize文字列の最初の文字を大文字にします。
case_sensitive_headersHTTP メソッドにつなげることができ、大文字と小文字を区別するヘッダーを導入します。デフォルトでは、Workato は RFC 仕様どおり、ヘッダーの大文字と小文字を区別しません。
get("https://www.example.com").case_sensitive_headers("HeLlo": "world")
chunkブロックの戻り値に基づき、項目をチャンクにまとめて列挙します。
詳細については、こちらをご覧ください。
chunk_while各チャンク要素の列挙子を作成します。チャンクの先頭はブロックで定義されます。
詳細については、こちらをご覧ください。
collect列挙内の要素ごとに一度のブロック実行の結果を含む新しい配列を返します。
詳細については、こちらをご覧ください。
collect_concat列挙内の要素ごとに一度のブロック実行の結合された結果を含む新しい配列を返します。
詳細については、こちらをご覧ください。
compactNil 以外の値のハッシュを返します。
詳細については、こちらをご覧ください。
cycle指定した回数だけ配列を繰り返し、要素ごとに1つのブロックを呼び出します。
詳細については、こちらをご覧ください。
decode_base64Base64 アルゴリズムを使用してデコードします。
decode_hex16進数をバイナリ文字列にデコードします。
decode_url文字列を URL デコードします。この方式では `CGI.unescape` を使用して URL デコードを行います。
decode_urlsafe_base64URL セーフの修正が盛り込まれた Base64 アルゴリズムを使用してデコードします。
decrytAES-256-CBC アルゴリズムを使用して暗号化された文字列を復号します。入力は RNCryptor V3 フォーマットである必要があります。
deep_mergeネストされた子ハッシュを含め、ハッシュを別のハッシュと結合します。
詳細については、こちらをご覧ください。
delete_at配列内の要素を削除します。
詳細については、こちらをご覧ください。
detect配列内の各要素をブロックに渡します。ブロックを満たす最初の要素を返します。
詳細については、こちらをご覧ください。
dig渡されるインデックスに対応する値オブジェクトを取得します。
dig メソッドは、多くの場合、ネストされた配列やハッシュ内のレイヤーを取り除くために使用されます。たとえば、XML データフォーマットを処理する際によく dig メソッドが使用されます。
詳細については、こちらをご覧ください。
drop列挙子から最初の N 個の要素を削除し、配列内の残りの要素を返します。
[1, 2, 3, 4, 5, 0].drop(3) #=> [4, 5, 0]
詳細については、こちらをご覧ください。
drop_whileブロックが nil または false を返す配列の最初の要素まで (この最初の要素は含まない) の要素を削除します。
詳細については、こちらをご覧ください。
dst?時刻が指定されたタイムゾーンの夏時間の範囲内である場合、true を返します。
each基本的なイテレータ。
[1, 2, 3].each { |i| puts i }
each_byte指定された文字列の各バイトを指定されたブロックに渡します。ブロックが指定されていない場合は列挙子を返します。詳細については、こちらをご覧ください。
each_char指定された文字列の各文字を指定されたブロックに渡します。ブロックが指定されていない場合は列挙子を返します。詳細については、こちらをご覧ください。
each_cons連続する N 個の要素の各配列について、指定されたブロックを反復処理します。ブロックが指定されていない場合は、列挙子を返します。詳細については、こちらをご覧ください。
each_entry配列を反復処理し、ブロック内の各要素を返します。詳細については、こちらをご覧ください。
each_sliceN 個の要素の各スライスについて、指定されたブロックを反復処理します。ブロックが指定されていない場合は、列挙子を返します。詳細については、こちらをご覧ください。
each_with_indexこのイテレータは、インデックスを使用して値を返します。
[1, 2, 3].each_with_index { |item, index| puts "#{index}:#{item}" }
詳細については、こちらをご覧ください。
each_with_objectこのイテレータは、ユーザーが定義できるオブジェクトを使用して値を返します。
[%w(foo bar).each_with_object({}) { |str, hsh| hsh[str] = str.upcase } 
# => {'foo' => 'FOO', 'bar' => 'BAR'}
詳細については、こちらをご覧ください。
encode_hexバイナリ文字列を16進表現に変換します。
"0J/RgNC40LLQtdGC\n".decode_base64.encode_hex
encode_sha256SHA256 アルゴリズムを使用してエンコードします。
encode_base64Base64 アルゴリズムを使用してエンコードします。
encode_url文字列を URL エンコードします。
'Hello World'.encode_url # 'Hello%20World'
encode_urlsafe_base64URL セーフの修正が盛り込まれた Base64 アルゴリズムを使用してエンコードします。
encode_www_formハッシュを URL エンコードされたパラメータの文字列に連結します。
{"apple" => "red green", "2" => "3"}.encode_www_form #"apple=red+green&2=3"
ends_of_month月の終了を表す新しい日時を返します。
"2017-08-18T00:00:00".to_time.end_of_month #2017-08-31 23:59:59 +0000
ends_with?文字列が特定のパターンで終了する場合、true を返します。それ以外の場合は false を返します。
"Hello!".ends_with?("!") #true
entries列挙内の各項目を含む配列を返します。
(1..7).entries #=> [1, 2, 3, 4, 5, 6, 7] { 'a'=>1, 'b'=>2, 'c'=>3 }.entries #=> [["a", 1], ["b", 2], ["c", 3]]
詳細については、こちらをご覧ください。
errorユーザー定義のエラー本体を使用して、ジョブエラーを生成します。
error("Unable to find Account with ID: 123")
even?整数が偶数の場合に true を返します。
詳細については、こちらをご覧ください。
except指定されたキーを除くすべてを含むハッシュを返します。
{ name: "Jake", last_name: "Paul", age: "22" }.except(:name, :last_name) # { :age => "22" }
詳細については、こちらをご覧ください。
excludeフィールドに値が含まれていない場合に true を返します。大文字と小文字が区別されます。
"Partner account".exclude?("Partner") #false
詳細については、こちらをご覧ください。
fetch指定されたキーに対して、ハッシュからの値を返します。
詳細については、こちらをご覧ください。
find_allブロック内で示した条件を満足するハッシュまたは配列のすべての要素を含む配列を返します。
Foo = { :abc => 1, :bad => [1,2] } Foo.find_all { |i| i[0] == :abc } # [[:abc, 1]]
詳細については、こちらをご覧ください。
find_index配列内の各要素を指定したブロックと比較し、最初に一致したもののインデックスを返します。
(1..100).find_index { |i| i % 5 == 0 and i % 7 == 0 } #=> 34
詳細については、こちらをご覧ください。
firstリスト内の最初の項目を返します。これを使用して、リスト内の最初の n 個の項目を返すこともできます。
詳細については、こちらをご覧ください。
flatten多次元配列をシンプルな配列に平坦化します。
[[1, 2], [3, 4]].flat_map { |e| e + [100] } #=> [1, 2, 100, 3, 4, 100]
詳細については、こちらをご覧ください。
flat_map列挙内の要素ごとに一度のブロック実行の結合された結果を含む新しい配列を返します。
[[1, 2, 3],[4,5,6]].flatten #[1, 2, 3, 4, 5, 6]
詳細については、こちらをご覧ください。
follow_redirection Workato では、デフォルトで、ほとんどの 3XX のリダイレクト HTTP コードに従っています。場合によっては、すべての応答コードのリダイレクトに従うためにこれを適用する必要があります。
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指定された配列の各行をフォーマットすることにより、文字列の配列を作成します。
[[{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']
詳細については、こちらをご覧ください。
format_xml要求を XML フォーマットに変換し、XML フォーマットの応答本体を期待します。
from_now時間を進めます。太平洋時間 (UTC-8/UTC-7) で指定された期間を加算して、formula が実行された時間のタイムスタンプを返します。
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_xmlXML 文字列をハッシュに変換します。
   
<?xml version="1.0" encoding="UTF-8"?> <hash><foo type="integer">1</foo></hash>".from_xml # { "hash": [ "foo": [ { "@type": "integer", "content!": "1" } ] ] }
grep列挙子を検索して、条件を満たすすべての要素を見つけます。
詳細については、こちらをご覧ください。
grep_v列挙子を検索して、条件を満たさないすべての要素を見つけます。
詳細については、こちらをご覧ください。
group_by配列をセットにグループ化します。
詳細については、こちらをご覧ください。
gsubパターンを値に置き換えます。大文字と小文字が区別されます。
"Jean Marie".gsub(/J/, "M") #"Mean Marie"
詳細については、こちらをご覧ください。
has_key?指定されたキーがハッシュに存在する場合、true を返します。
詳細については、こちらをご覧ください。
headerヘッダーを要求に追加します。
.headers(Authorization: "Bearer HTB674HJK1")
hmac_md5HMAC_MD5 署名を作成します。
"username:password:nonce".hmac_md5("key")
hmac_sha1HMAC_SHA1 署名を作成します。
"username:password:nonce".hmac_sha1("key")
hmac_sha256HMAC_SHA256 署名を作成します。
"username:password:nonce".hmac_sha256("key")
hmac_sha512HMAC_SHA512 署名を作成します。
"username:password:nonce".hmac_sha512("key")
ignore_redirection要求が直ちにリダイレクトされるのを停止できます。一般には、ファイルをダウンロードするため、要求が AWS S3 などのセカンダリサイトにリダイレクトされる場合に使用されます。「Current_url」を使用する apply: キーで使用される認証をすべて取り除く必要があります。
    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フィールドのコンマ区切りのリストを無視します。
object_definition["user"].ignored("id", "created_at")
include?フィールドに値が含まれる場合に true を返します。それ以外の場合は false を返します。
詳細については、こちらをご覧ください。
inject演算を使用して、配列内の要素を組み合わせます。
詳細については、こちらをご覧ください。
insert要素を配列に挿入します。
詳細については、こちらをご覧ください。
in_time_zone時刻を指定されたタイムゾーンに変換します。
"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?クラスがオブジェクトのクラス、オブジェクトのスーパークラスのいずれか、またはオブジェクトに含まれるモジュールのいずれかの場合、true を返します。
Workato では、現在、Array、Hash、Time、String、Integer、Float のクラスをサポートしています。
詳細については、こちらをご覧ください。
is_true?値を boolean に変換し、値が真値の場合 true を返します。
is_not_true?値を boolean に変換し、値が真値でない場合 true を返します。
iso8601date/date-time 変数を ISO8601 フォーマットに変換します。
join配列要素を文字列に連結します。
詳細については、こちらをご覧ください。
jwt_encodeRS256、RS384、RS512、HS256 のいずれかのアルゴリズムを使用して、JWT を作成します。追加で指定されるパラメータが、ヘッダー (次の例の kid) に追加されます。
    
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..."
lastリスト内の最後の項目を返します。これを使用して、リスト内の最後の n 個の項目を返すこともできます。
詳細については、こちらをご覧ください。
ljust文字列を左揃えにし、指定した長さになるまで空白またはパターンを挿入します。
" test".ljust(10, "*") # " test*****"
詳細については、こちらをご覧ください。
lookupWorkato で定義した Lookup table からレコードを検索します。
lookup('States list', 'State code': 'AZ')['State name'] #"Arizona"
詳細については、こちらをご覧ください。
lstrip文字列の先頭から空白を削除します。
" Test ".lstrip #"Test "
詳細については、こちらをご覧ください。
map各要素でブロックを呼び出した後で、新しい配列を返します。
md5_hexdigestMD5 メッセージダイジェストアルゴリズムを使用して、メッセージダイジェストを作成します。
"hello".md5_hexdigest #5d41402abc4b2a76b9719d911017c592
match?文字列にパターンが含まれる場合に true を返します。大文字と小文字が区別されます。
"Jean Marie".match?(/Marie/) #true
max_by指定されたブロックの最大値が生じる列挙内のオブジェクトを返します。
%w(albatross dog horse).max_by { |x| x.length } # albatross
member?include? のエイリアス。
詳細については、こちらをご覧ください。
merge結合されたコンテンツを含む新しいハッシュを返します。
詳細については、こちらをご覧ください。
minmax列挙内の最小値と最大値を含む2要素の配列を返します。

a = %w(albatross dog horse)
a.minmax    #=> ["albatross", "horse"]
a.minmax { |a, b| a.length <=> b.length } 
#=> ["dog", "albatross"]
詳細については、こちらをご覧ください。
minmax_by指定したブロックの最小値と最大値のそれぞれに対応する列挙内のオブジェクトを含む2要素の配列を返します。

a = %w(albatross dog horse) a.minmax_by { |x| x.length } #=> ["dog", "albatross"]
詳細については、こちらをご覧ください。
min_by指定されたブロックの最小値が生じる列挙内のオブジェクトを返します。

a = %w(albatross dog horse)
a.min_by { |x| x.length }   #=> "dog"
詳細については、こちらをご覧ください。
next 列挙子内の次のオブジェクトを返し、内部位置を進めます。
これは、多くの場合 config_fields で使用されます。ここでは、lambda 関数が実行される前に入力をチェックするガード節を追加する手段として next を使用できます。
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
  }
}
詳細については、こちらをご覧ください。
none?コレクションの各要素を指定したブロックに渡します。このメソッドは、ブロックがどの要素に対しても true を返さない場合に true を返します。
%w{ant bear cat}.none? { |word| word.length == 5 } #=> true
詳細については、こちらをご覧ください。
now太平洋時間 (UTC-8/UTC-7) で、formula が実行された時間のタイムスタンプを返します。
now #2017-01-23T14:04:53.365908-08:00
now + 2.days #2017-01-25T14:04:53.365908-08:00
odd?整数が奇数の場合に true を返します。
詳細については、こちらをご覧ください。
one?コレクションの各要素を指定したブロックに渡します。このメソッドは、ブロックが一度だけ true を返す場合に true を返します。
[ nil, true, false ].one? #=> true
詳細については、こちらをご覧ください。
onlyコンマ区切りのフィールドのホワイトリスト。
object_definition["user"].only("id", "name")
ordinalize数値を、1st、2nd、3rd、4th など、順序列内の位置を表すために使用される序数文字列に変換します。
"1".ordinalize # "1st"
pack配列のコンテンツをバイナリシーケンスに変換します。
詳細については、こちらをご覧ください。
parallel要求の配列を受け付け、複数のスレッドでこれらを実行できます。
batches = (0..200).map do |batch|
  post(url).headers(headers).request_body(payload)
end        
results = parallel(batches, threads: 20)
詳細については、こちらをご覧ください。
parameterize文字列内の特殊文字を置き換えます。
"???".parameterize #"oua"
paramsパラメータを要求に追加します。
.params(api_key: "HTB674HJK1")
parse_jsonjson.parse と同様に機能します。
詳細については、こちらをご覧ください。
parse_yamlYAML 文字列を解析します。true、false、nil、数値、文字列、配列、ハッシュをサポートしています。
workato.parse_yaml("---\nfoo: bar") # => { "foo" => "bar" }
payloadペイロードを要求に追加します。
.payload(id: "345")
pbkdf2_hmac_sha1パスワードとソルトを使用して、さまざまなビット長のキーを作成します。HMAC Sha1 を使用します。
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つ以上の属性を選択します。
[ {"id": 1, "name": "David"}, {"id": 2, "name": "Peter"} ].pluck("id")
上記の例は、[1, 2] を返します。
pluralize文字列内の単語の複数形を返します。
詳細については、こちらをご覧ください。
popそれ自体から最後の要素を削除し、その要素を返します。配列が空の場合は nil を返します。
数値 n が指定されている場合は、最後の n 個 (またはそれ未満) の要素の配列を返し、配列からその要素を削除します。
a = [ "a", "b", "c", "d" ]
a.pop     #=> "d"
a.pop(2)  #=> ["b", "c"]
a         #=> ["a"]
詳細については、こちらをご覧ください。
presence存在する場合、その値を返します。存在しない場合は、nil を返します。
nil.presence #nil
"".presence #nil
0.presence #0
詳細については、こちらをご覧ください。
present?そのフィールドに値がある場合に true を返します。それ以外の場合は false を返します。
nil.present? #false
"".present? #false
0.present? #true
詳細については、こちらをご覧ください。
putsconsole.log または stdout の ruby バージョンです。put メソッドとは異なります。
puts メソッドを使用した出力は、コードエディターでのテストの際、コンソールログに表示されます。これをデバッグに役立てることができます。
rand0 ~ 1の範囲のランダムな数。
random_bytes指定した数のランダムなバイトを生成します。workato.random_bytes(8)
reduceメソッドまたは演算子を示すブロックまたは記号により指定された二項演算を適用することで、列挙内のすべての要素を組み合わせます。
(5..10).reduce { |sum, n| sum + n } # 45
詳細については、こちらをご覧ください。
rejectブロックが false を返す要素を選択的に返します。select に似ていますが、反対になります。
詳細については、こちらをご覧ください。
render_yamlオブジェクトを YAML 文字列に表します。
workato.render_yaml({ "foo" => "bar" }) # => "---\nfoo: bar\n"
response_format_jsonJSON フォーマットでの応答を期待します。
response_format_rawRAW フォーマットでの応答を期待します。これは、応答としてバイナリデータ (PDF や画像など) を期待する HTTP アクションの後につなげることができます。
response_format_xmlXML フォーマットでの応答を期待します。
request_format_json要求を JSON フォーマットに変換します。
request_format_multipart_form要求を multipart_form フォーマットに変換します。
request_format_www_form_urlencoded要求を URL エンコードフォーマットに変換します。
request_format_xml要求を XML フォーマットに変換します。
required必要なフィールドのコンマ区切りのリストを作成します。
object_definition["user"].required("id", "created_at")
reverse文字列または配列の順序を反転させます。
reverse_each一時的な配列を作成し、その配列を逆順に走査します。詳細については、こちらをご覧ください。
rjust文字列を右揃えにし、指定した長さになるまで空白またはパターンを挿入します。
"test".rjust(5) #" test"
"test".rjust(10, "*!") #"*!*!* test"
詳細については、こちらをご覧ください。
round標準の端数処理規則で数値を端数処理します。
11.99.round #12
11.555.round(2) #11.56
詳細については、こちらをご覧ください。
rsa_sha256RS256 署名 (RSA キーで署名された SHA256 ハッシュ) を作成します。
input['StringToSign'].rsa_sha256(rsa_private_key).base64
rstrip文字列の末尾から空白を削除します。
" Test ".rstrip #" Test"
詳細については、こちらをご覧ください。
scan文字列内をスキャンして一致するパターンを探します。
"Thu, 01/23/2014".scan(/\d+/).join("-") #01-23-2014
詳細については、こちらをご覧ください。
selectブロックが true を返す要素を選択的に返します。
詳細については、こちらをご覧ください。
SHA1SHA1 暗号化アルゴリズムを使用して、指定された文字列を暗号化します。
"abcdef".sha1.encode_base64 # "H4rBDyPFtbwRZ72oS4M+XAV6d9I="
詳細については、こちらをご覧ください。
singularizepluralize の逆。文字列内の単語の単数形を返します。
'posts'.singularize # => "post"
詳細については、こちらをご覧ください。
slice開始インデックスと長さで定義されているとおりに、指定された文字列の部分文字列を返します。
"Jean Marie\.slice(0,3) #"Jea"
詳細については、こちらをご覧ください。
slice_after特定の値の後で配列を切り取ります。
["a", "b", "c"].slice_after("b").to_a # [["a", "b"], ["c"]]
詳細については、こちらをご覧ください。
slice_before特定の値の前で配列を切り取ります。
["a", "b", "c"].slice_before("b").to_a # [["a"], ["b", "c"]]
詳細については、こちらをご覧ください。
slice_when各チャンク要素の列挙子を作成します。
[1,2,4,9,10,11].slice_when { |i,j| i+1 != j}.to_a # [[1, 2], [4], [9, 10, 11]]
詳細については、こちらをご覧ください。
smart_join配列を文字列に連結します。空の値および nil 値は削除します。空白は連結する前に削除します。
[nil, " ", " Hello ", " World "].smart_join(" ") #Hello World
詳細については、こちらをご覧ください。
sortソートされた新しい配列を返す sort 関数。
詳細については、こちらをご覧ください。
sort_byそれ自体を返す sort 関数。
詳細については、こちらをご覧ください。
split定義されたパターンを区切り文字として使用して、文字列を配列に分割します。
"Split string".split() #["Split", "string"]
"Split string".split("t") #["Spli", " s", "ring"]
詳細については、こちらをご覧ください。
strip文字列の先頭と末尾から空白を取り除きます。
" This is an example ".strip #"This is an example"
詳細については、こちらをご覧ください。
strip_tags文字列から html タグを取り除きます。
"Double bubble".strip_tags #"Double bubble"
strftime% プレースホルダを使用して、日付または時刻をフォーマットします。
sub最初に出現するパターンを値に置き換えます。
"Mean Marie".sub(/M/, "J") #"Jean Marie"
"Hello".sub(/[aeiou]/, "\*") #"H*llo"
take配列の最初の N 個の要素を返します。
[1, 2, 3, 4, 5, 0].take(3) #=> [1, 2, 3]
詳細については、こちらをご覧ください。
take_whileブロックが nil または false を返すまで、そのブロックに要素を渡した後、反復を停止してそれまでのすべての要素の配列を返します。
[1, 2, 3, 4, 5, 0].take_while { |i| i < 3 } #=> [1, 2]
詳細については、こちらをご覧ください。
tapブロックに x を生成し、x を返します。
tap メソッドは、多くの場合、変換に使用されます。たとえば、以下の tap メソッドを使用して、webhook のペイロードを変換します。webhook のペイロードが次のフォーマットで提供されているとします。
{
  "id" => {"value" => 1},
  "name" => {"value" => 2}
}
tap を使用することで、これをよりユーザーフレンドリな JSON に変換できます。
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}
詳細については、こちらをご覧ください。
tls_client_certWorkato が要求で使用する TLS キー、TLS クライアント、および中間証明書を指定できます。これを単一の要求につなげるか、一般的に apply ブロックで使用することができます。
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
  )

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_certsSSL ハンドシェイクプロセスで、Workato が受け付ける TLS サーバー証明書を指定できます。これは、自己署名または信頼できないルート CA 証明書の場合に便利です。これを単一の要求につなげるか、一般的に apply ブロックで使用することができます。
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.
  )

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通貨文字列に変換します。
1234567890.50.to_currency # $1,234,567,890.50
to_currency_codealpha-2/3の国名コードまたは国名を ISO4217 の通貨コードに変換します。
"India".to_currency_code #INR
to_currency_namealpha-2/3の国名コードまたは国名を ISO4217 の通貨名に変換します。
"India".to_currency_name #Rupees
to_currency_symbolalpha-2/3の国名コードまたは国名を ISO4217 の通貨記号に変換します。
"India".to_currency_symbol # ₨
to_country_alpha2alpha-3 の国名コードまたは国名を alpha2 国名コードに変換します。
"India".to_country_alpha2 #IN
"IND".to_country_alpha2 #IN
to_country_alpha3alpha-2 の国名コードまたは国名を alpha3 国名コードに変換します。
"Australia".to_country_alpha2 #AUS
"AU".to_country_alpha2 #AUS
to_country_namealpha-2/3の国名コードまたは国名を ISO3166 の国名に変換します。
"GB".to_country_name #United Kingdom
"GBR".to_country_name #United Kingdom
to_country_numberalpha-2/3の国名コードまたは国名を ISO3166 の numeric の国名コードに変換します。
"India".to_country_number #356
to_date文字列またはタイムスタンプを日付に変換します。フォーマット可能です。
"12/24/2014 10:30 PM".to_date(format: "MM/DD/YYYY")
to_f浮動小数点数に変換します。標準の端数処理規則に基づいて、数値が切り上げまたは切り下げられます。
45.to_f #45.0
to_hexバイナリ文字列を16進表現に変換します。
to_i整数に変換します。小数は常に切り捨てられます。
45.67.to_i #45
to_jsonハッシュまたは配列を JSON 文字列に変換します。
{"a" => "c d", "2" => "3"}.to_json #"{"a":"c d","2":"3"}"
to_phone文字列または数値をフォーマットされた電話番号に変換します。
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_paramURL クエリー文字列として使用する文字列表現を返します。
{name: 'Jake', age: '22'}.to_param #name=Jake age=22
to_s文字列に変換します。
45.67.to_s #"45.67"
to_state_code州の名前をコードに変換します。
"California".to_state_code #CA
to_state_name州のコードを名前に変換します。
"CA".to_state_name #"CALIFORNIA"
to_time文字列または日付をタイムスタンプに変換します。
"2014-11-21".to_time #2014-11-21 00:00:00 +0000
to_xmlハッシュまたは配列を XML 文字列に変換します。
{"name" => "Ken"}.to_xml(root: "user") # <user><name>Ken</name></user>
today本日の日付。太平洋時間 (UTC-8/UTC-7) で、formula が実行された日付を返します。
today #2016-07-13
today + 2.days #2016-07-15
transliterate非 ASCII 文字を ASCII 近似に置き換えます。これらが存在しない場合、置換文字はデフォルトで「?」になります。
'Chloé'.transliterate #Chloe
upcase文字列を大文字に変換します。
"Convert to UPCASE".upcase #"CONVERT TO UPCASE"
uniq配列内で一意の項目を返します。
[1.0, 1.5, 1.0].uniq #[1.0, 1.5]
unpack文字列を配列にデコードします。
詳細については、こちらをご覧ください。
utcTime をUTC タイムゾーンに変換します。
詳細については、こちらをご覧ください。
uuidUUID を作成します。要求内で一意の文字列を送信する場合に役立ちます。
workato.uuid #c52d735a-aee4-4d44-ba1e-bcfa3734f553 => "eyJhbGciO..."
where指定された条件で配列をフィルタリングします。
whilewhile loop ステートメント。
詳細については、こちらをご覧ください。
wday曜日を返します。1が月曜日になります。
wrapすでに配列である場合を除き、配列内の引数をラップします。
wrap メソッドは、多くの場合、execute ブロックで使用されます。while loop ステートメント。
execute: lambda do |connection, input|            More details here.
  {
    accounts: Array.wrap(get("/accounts", input)["records"])
  }
end
これにより、何が返されても accounts 変数は常に配列となります。Workato では、使用するさまざまな API から予期しない値が返されるのを防ぐためによくこれを使用します。
詳細については、こちらをご覧ください。
yday年内通算日数を返します。
"2016-07-19 10:45:30".to_time.yday #201
yweek年内通算週数を返します。
"2016-07-19 10:45:30".to_time.yweek #29
zip配列で呼び出されるメソッドとして使用されます。引数を配列に変換した後、それ自体の要素を各引数からの対応する要素と結合します。
詳細については、こちらをご覧ください。

このリストは絶えず拡張されています。このリストに対する更新および追加については、ご遠慮なくお問い合わせください。

Last updated: