LoginSignup
0
0

More than 5 years have passed since last update.

filemaker-ruby にて、「タイプ」が「オブジェクト」で「オプション/コメント」が「外部(オープン)」のフィールドの戻り値について

Last updated at Posted at 2018-10-15

filemaker-ruby とは

filemaker-ruby とは、Ruby で FileMaker の API を扱うための gem です。
https://github.com/mech/filemaker-ruby

レコードの各フィールドの戻り値はどのような形をしているか

この gem を使うと例えば任意のレコードにおける各フィールドの値を取得することができます。ただ、テキストで取得できる値以外のいわゆる「オブジェクト」はどのように戻ってくるのでしょうか。

スクリーンショット 2018-10-15 16.06.14.png

結論を申し上げますと、HTTP::URI クラスのオブジェクトとして戻ってきます1

戻り値を料理する

オブジェクトのフィールドの戻り値が HTTP::URI クラスのオブジェクトとわかったので、あとは自在に料理しましょう。メソッドとしては以下のようなものが使えます。

#to_s#scheme#userinfo#host#port#registry#path#opaque#query#fragment#opaque#opaque#opaque

具体例

具体的な例を挙げます。foobar というフィールドが以下のようにオブジェクトフィールドだったと仮定します。画像を埋め込んだオブジェクトフィールドです、

"foobar"=>#<URI::HTTP http://123.123.123.123/fmi/xml/cnt/FIELD_NO_NAME.jpg?-db=YOUR_DB_NAME&-lay=YOUR_LAYOUT_NAME&-recid=RECORD_ID&-field=foobar(1)>,

このオブジェクトに対して前述したメソッドを与えて操作ができます。その結果が以下です。

to_s: http://123.123.123.123/fmi/xml/cnt/FIELD_NO_NAME.jpg?-db=YOUR_DB_NAME&-lay=YOUR_LAYOUT_NAME&-recid=RECORD_ID&-field=foobar(1) #=> foobar.to_s
scheme: http #=> foobar.scheme
userinfo: #=> foobar.userinfo
host: 123.123.123.123 #=> foobar.host
port: 80 #=> foobar.port
registry: #=> foobar.registry
path: /fmi/xml/cnt/FIELD_NO_NAME.jpg #=> foobar.path
opaque: #=> foobar.opaque
query: -db=YOUR_DB_NAME&-lay=YOUR_LAYOUT_NAME&-recid=RECORD_ID&-field=foobar(1) #=> foobar.query

注意点

得られた URI にアクセスする場合には BASIC認証 が必要です。ユーザ名とパスワードは FileMaker のそれと同一です。

参考


  1. 「タイプ」が「オブジェクト」で、「オプション/コメント」が「外部(オープン)」のフィールドです 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0