mikutter3.5のUserMixinでユーザーアイコンにスキンの画像を使いたいとき
UserMixinを混ぜ込んだ自作のユーザーモデルのアイコンを、みくったーちゃん(スキンのicon.png)にしたい場合です。
- UserMixinは自身のprofile_image_urlフィールドをキーにして、Photo::PhotoからPixbufを得ている。なので、ユーザーモデルのprofile_image_urlにアイコン画像のURLを入れておけば良い。
※Photo::Photoは"file://hoge/fuga.png"みたいなfile://スキームのURLが解釈できない(バグ?)ので、URI::path()を使って/から始まるUNIXパス形式で渡してやる必要がありました。ってこれまたWindowsでハマるパターンじゃん。。。
コード的にはこんな感じになります。
user = DashButtonUser.new_ifnecessary({ :uri => URI.parse("dashbutton://singleton"), :name => "Amazon Dash Button", :idname => "Dashボタン", :profile_image_url => Skin["icon.png"].uri.path })