[ruby-list:50387] Re: [質問]ruby SOAP? DLNA機器制御 Action名内の '_' Underscore が取り除かれる
From:
<yamataka@...08.itscom.net>
Date:
2016-09-09 10:44:33 UTC
List:
ruby-list #50387
KOHEI OHKUBO さん
山口です。
> savon を以前仕事で使ったことがあるのでざっとコードを読み返してみました。
> 厳密に追ったわけではないので間違ってるかもしれませんが、たぶん こうい
う感じのことが起きています。
サポートいただきありがとうございます。
返信ないだろうなと思っていたので、こんなに早くサポートいただけて感激です。
> savon はアクション名を underscore します。
> https://github.com/savonrb/savon/blob/master/lib/savon/model.rb#L31
> (snakecase とあるが、 underscore とほぼおなじ処理)
>
> easy_upnp のこの行
> https://github.com/sidoh/easy_upnp/blob/master/lib/easy_upnp/control_point/client_wrapper.rb#L25
> で指定している :camelcase が回り回って gyoku に渡り、gyoku がアクショ
ン名を camelcase します。
>
> という、高度なコンビネーション技で underscore が消えているので、簡単に
解決する方法となると、ちょっと悩みますね。
その場しのぎの方法とかありませんでしょうか?
何も考えずにうまくいくかな? と
savon model.rb の該当箇所
def #{operation.to_s.snakecase}(locals = {})
を
def #{operation.to_s}(locals = {})
してみたり、
eazy_upnp client_wrapper.rb
c.convert_request_keys_to :camelcase
を
c.convert_request_keys_to
にしてみたり、
両方の合わせ技? で、実施してみましたが、案の定効果ありませんでした。