# 䜿甚可胜な Ruby メ゜ッド

Workato の SDK フレヌムワヌクでコネクタヌを構築する際、公開されおいるすべおの Ruby むンスタンスメ゜ッドが䜿甚可胜なわけではありたせん。 以䞋に、コネクタヌを構築する際に任意のブロックで䜿甚できるホワむトリスト指定された Ruby メ゜ッドのリストを瀺したす。

たた、SDK の䜿甚時に任意のブロックで䜿甚するための個人甚の再利甚可胜メ゜ッドを宣蚀するこずができたす。

# 事前定矩の Ruby メ゜ッド

メ゜ッド 説明
at 指定の匕数を䜿甚しお新しい時間オブゞェクトを䜜成したす。
詳现に぀いおは、こちらをご芧ください。
abs 数の絶察倀を返したす。
aes_cbc_encrypt CBC モヌドでの AES 暗号化。128、192、および256ビットのキヌを受け付けたす。
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ビットのキヌを受け付けたす。
workato.aes_cbc_decrypt(128, "text_to_decrypt", key128)
aes_gcm_encrypt GCM モヌドでの AES 暗号化。128、192、および256ビットのキヌを受け付けたす。
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
workato.aes_gcm_encrypt("text_to_encrypt", key128, "init_vector00000")
オプションで、認蚌デヌタを指定するこずもできたす。
key128 = workato.pbkdf2_hmac_sha1("password", workato.random_bytes(8))
workato.aes_gcm_encrypt("text_to_encrypt", key128, "init_vector00000", auth_data)
aes_gcm_decrypt GCM モヌドでの AES 埩号。128、192、および256ビットのキヌを受け付けたす。
workato.aes_gcm_decrypt(128, "text_to_encrypt", key128, "init_vector00000")
認蚌デヌタを䜿甚しお暗号化した堎合は、auth_token を指定する必芁がありたす。
workato.aes_gcm_decrypt(128, "text_to_decrypt", key128, "init_vector00000", auth_data)
after_error_response HTTP 芁求に぀なげお、倱敗した芁求を救枈できたす。詳现に぀いおは、こちらをご芧ください。
after_response HTTP 芁求に぀なげお、応答ヘッダヌなどを利甚できたす。詳现に぀いおは、こちらをご芧ください。
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_signature AWS サヌビス向けの 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_headers HTTP メ゜ッドに぀なげるこずができ、倧文字ず小文字を区別するヘッダヌを導入したす。デフォルトでは、Workato は RFC 仕様どおり、ヘッダヌの倧文字ず小文字を区別したせん。
get("https://www.example.com").case_sensitive_headers("HeLlo": "world")
chunk ブロックの戻り倀に基づき、項目をチャンクにたずめお列挙したす。
詳现に぀いおは、こちらをご芧ください。
chunk_while 各チャンク芁玠の列挙子を䜜成したす。チャンクの先頭はブロックで定矩されたす。
詳现に぀いおは、こちらをご芧ください。
collect 列挙内の芁玠ごずに䞀床のブロック実行の結果を含む新しい配列を返したす。
詳现に぀いおは、こちらをご芧ください。
collect_concat 列挙内の芁玠ごずに䞀床のブロック実行の結合された結果を含む新しい配列を返したす。
詳现に぀いおは、こちらをご芧ください。
compact Nil 以倖の倀のハッシュを返したす。
詳现に぀いおは、こちらをご芧ください。
cycle 指定した回数だけ配列を繰り返し、芁玠ごずに1぀のブロックを呌び出したす。
詳现に぀いおは、こちらをご芧ください。
decode_base64 Base64 アルゎリズムを䜿甚しおデコヌドしたす。
decode_hex 16進数をバむナリ文字列にデコヌドしたす。
decode_url 文字列を URL デコヌドしたす。この方匏では `CGI.unescape` を䜿甚しお URL デコヌドを行いたす。
decode_urlsafe_base64 URL セヌフの修正が盛り蟌たれた Base64 アルゎリズムを䜿甚しおデコヌドしたす。
decryt AES-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_slice N 個の芁玠の各スラむスに぀いお、指定されたブロックを反埩凊理したす。ブロックが指定されおいない堎合は、列挙子を返したす。詳现に぀いおは、こちらをご芧ください。
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_sha256 SHA256 アルゎリズムを䜿甚しお゚ンコヌドしたす。
encode_base64 Base64 アルゎリズムを䜿甚しお゚ンコヌドしたす。
encode_url 文字列を URL ゚ンコヌドしたす。
'Hello World'.encode_url # 'Hello%20World'
encode_urlsafe_base64 URL セヌフの修正が盛り蟌たれた 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_xml XML 文字列をハッシュに倉換したす。
"<?xml version="1.0" encoding="UTF-8"?> ".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_md5 HMAC_MD5 眲名を䜜成したす。
"username:password:nonce".hmac_md5("key")
hmac_sha1 HMAC_SHA1 眲名を䜜成したす。
"username:password:nonce".hmac_sha1("key")
hmac_sha256 HMAC_SHA256 眲名を䜜成したす。
"username:password:nonce".hmac_sha256("key")
hmac_sha512 HMAC_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 を返したす。
iso8601 date/date-time 倉数を ISO8601 フォヌマットに倉換したす。
join 配列芁玠を文字列に連結したす。
詳现に぀いおは、こちらをご芧ください。
jwt_encode RS256、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*****"
詳现に぀いおは、こちらをご芧ください。
lookup Workato で定矩した Lookup table からレコヌドを怜玢したす。
lookup('States list', 'State code': 'AZ')['State name'] #"Arizona"
詳现に぀いおは、こちらをご芧ください。
lstrip 文字列の先頭から空癜を削陀したす。
" Test ".lstrip #"Test "
詳现に぀いおは、こちらをご芧ください。
map 各芁玠でブロックを呌び出した埌で、新しい配列を返したす。
md5_hexdigest MD5 メッセヌゞダむゞェストアルゎリズムを䜿甚しお、メッセヌゞダむゞェストを䜜成したす。
"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_json json.parse ず同様に機胜したす。
詳现に぀いおは、こちらをご芧ください。
parse_yaml YAML 文字列を解析したす。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
詳现に぀いおは、こちらをご芧ください。
puts console.log たたは stdout の ruby バヌゞョンです。put メ゜ッドずは異なりたす。
puts メ゜ッドを䜿甚した出力は、コヌド゚ディタヌでのテストの際、コン゜ヌルログに衚瀺されたす。これをデバッグに圹立おるこずができたす。
rand 0  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_json JSON フォヌマットでの応答を期埅したす。
response_format_raw RAW フォヌマットでの応答を期埅したす。これは、応答ずしおバむナリデヌタ (PDF や画像など) を期埅する HTTP アクションの埌に぀なげるこずができたす。䟋
response_format_xml XML フォヌマットでの応答を期埅したす。
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_sha256 RS256 眲名 (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 を返す芁玠を遞択的に返したす。
詳现に぀いおは、こちらをご芧ください。
SHA1 SHA1 暗号化アルゎリズムを䜿甚しお、指定された文字列を暗号化したす。
"abcdef".sha1.encode_base64 # "H4rBDyPFtbwRZ72oS4M+XAV6d9I="
詳现に぀いおは、こちらをご芧ください。
singularize pluralize の逆。文字列内の単語の単数圢を返したす。
'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_cert Workato が芁求で䜿甚する 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_certs SSL ハンドシェむクプロセスで、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_code alpha-2/3の囜名コヌドたたは囜名を ISO4217 の通貚コヌドに倉換したす。
"India".to_currency_code #INR
to_currency_name alpha-2/3の囜名コヌドたたは囜名を ISO4217 の通貚名に倉換したす。
"India".to_currency_name #Rupees
to_currency_symbol alpha-2/3の囜名コヌドたたは囜名を ISO4217 の通貚蚘号に倉換したす。
"India".to_currency_symbol # ₹
to_country_alpha2 alpha-3 の囜名コヌドたたは囜名を alpha2 囜名コヌドに倉換したす。
"India".to_country_alpha2 #IN
"IND".to_country_alpha2 #IN
to_country_alpha3 alpha-2 の囜名コヌドたたは囜名を alpha3 囜名コヌドに倉換したす。
"Australia".to_country_alpha2 #AUS
"AU".to_country_alpha2 #AUS
to_country_name alpha-2/3の囜名コヌドたたは囜名を ISO3166 の囜名に倉換したす。
"GB".to_country_name #United Kingdom
"GBR".to_country_name #United Kingdom
to_country_number alpha-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_param URL ク゚リヌ文字列ずしお䜿甚する文字列衚珟を返したす。
{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 文字列を配列にデコヌドしたす。
詳现に぀いおは、こちらをご芧ください。
utc Time をUTC タむムゟヌンに倉換したす。
詳现に぀いおは、こちらをご芧ください。
uuid UUID を䜜成したす。芁求内で䞀意の文字列を送信する堎合に圹立ちたす。
workato.uuid #c52d735a-aee4-4d44-ba1e-bcfa3734f553 => "eyJhbGciO..."
where 指定された条件で配列をフィルタリングしたす。
while while 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: 2023/8/31 1:07:14