クラスメソッドのエイリアス
クラスメソッドのエイリアスは特異クラスで実現できる。
class Item def self.hoge 'hoge' end class << self alias :fuga :hoge end end
Item.hoge # => hoge Item.fuga # => hoge
typo
先日当たった、サイン本。
きっと間違ってるのは僕の方だ。
というか、この間書いたら、速攻でid:dankogaiからトラックバックが・・・
まさか見つかるとは((((;゚Д゚))))ガクガクブルブル
タグのバージョニング
acts_as_versionedは、モデルのバージョニングを手軽に実現できるプラグイン。
acts_as_taggable_on_steroidsは、タグを手軽に実現できるプラグイン。
併用したとき、モデルのバージョンを戻すと同時にタグもその時点のものに戻したいと思うのが人情というもの。
方法
acts_as_taggable_on_steroidsのタグリストのキャッシュ機能を利用すれば簡単に実装できる。
コード
class Item < ActiveRecord::Base acts_as_versioned acts_as_taggable # revert_toで、cached_tag_listからtag_listを復元する # (cached_tag_listがないとダメだよ) alias :revert_to_without_taggable :revert_to def revert_to_with_taggable(version) if revert_to_without_taggable(version) self.tag_list = cached_tag_list true else false end end alias :revert_to :revert_to_with_taggable end
Filterクラスをつくってみる
class SampleFilter def initialize(options) # オプションのせっていなどなど end def before(controller) end def after(controller) controller.response.body.gsub!(/hoge/, 'fuga') end end class ActionController::Base #:nodoc: def self.sample_before_filter(options = {}) before_filter SampleFilter.new(options) # SampleFilter#before end def self.sample_after_filter(options = {}) after_filter SampleFilter.new(options) # SampleFilter#after end def self.sample_around_filter(options = {}) around_filter SampleFilter.new(options) # SampleFilter#before, SampleFilter#after end end
class SampleController < ApplicationController sample_after_filter :only => [:index] end
携帯絵文字をPCで表示するためのフィルタをつくってみた
id:darashiさんが開発している、Railsで携帯向けアプリケーションを構築する時に便利なRailsプラグイン「Jpmobile」の機能を拡張するプラグインです。
Jpmobileにおいて、携帯の絵文字はUnicodeの私的領域にマッピングされます。そしてアクセスがあるとユーザの使用する携帯端末に合わせて変換後、送出されます。(after_filterなので、もちろんフラグメントキャッシュは利用できます。)
しかしながら、現在のところPCでのアクセスのためのフィルタは用意されてなく、PCで閲覧した場合何も表示されないか、ブラウザによっては文字化けします。
そこで、このプラグインの出番です。(いいすぎだったらごめんなさい)
特徴
よいとおもうところ
よくないとおもうところ
- after_filterの段階で変換を行うので、アクション毎に変換が必要→きっと重い
インストール
プラグインのインストール
script/plugin install http://taslam-plugins.googlecode.com/svn/trunk/jpmobile_emoticon_filter
絵文字画像の配置
SixApartが公開している絵文字画像を使います。
必ずライセンスに目を通して、それにしたがって利用してください。
解凍すると、emoticonsというフォルダができ、その中に絵文字画像が沢山入ってます。
これをそのままRAILS_ROOT/imagesにコピーします。(RAILS_ROOT/images/emoticons/*.gifという感じになります)
なお、今回一番時間がかかったし大変だったのは、この絵文字画像との変換テーブルの作成でした・・疲れた。
※TypeCastのconfにyamlで入ってました。なんという無駄な努力orz
コントローラにemoticon_filterを書き加える
class SampleController < ApplicationController emoticon_filter end
実際には、mobile_filterを使用する携帯用コントローラで継承するための抽象クラスと別に、PC用コントローラで継承するための抽象クラスをつくり、そこで呼ぶことになるでしょう。適当に応用してください。
インストールは、これだけです。
emoticon_filterのオプション
:classname => 'emoticon' # 絵文字IMG要素のクラス名 :path => 'emoticons' # 絵文字画像のパス(imagesからの相対パス)
追記
少し修正した。
追記 2008.8.8
- html及びjavascript以外でのレスポンスの場合、フィルタを適用しないようにした。
- javascriptでのレスポンスの際、ダブルクォーテーションをエスケープするように修正。
毒餃子「中国国内では入手困難、混入は日本で」の農薬、やっぱり中国で手に入ることが判明
シラミ発見で頭髪に農薬塗る 8歳女児が死亡
http://news.searchina.ne.jp/disp.cgi?y=2008&d=0703&f=national_0703_018.shtml
重慶市永安村の8歳女児が6月30日、シラミを退治するために髪の毛に農薬のメタミドホスを塗ったことが原因で死亡した。7月3日付で重慶晨報が伝えた。
12歳になる姉も同様にメタミドホスを頭髪にまぶしたため病院で手当てを受けた。姉は危険な状態から脱したという。
姉は「大人の女性がシラミ対策のため頭髪に農薬を塗る様子を目撃したことがあるので真似をした」と語った。
- 中国国内では入手はまず無理、日本で混入。
- 日本人は弱い
とかいっておきながら、なんすか、これ。
マスコミ、政府はつっこめよ。
サイン入り本が当たった
帰宅したら、嫁が、WEB+DB Press vol.44の読者プレゼントの、「小飼弾のアルファギークに逢ってきた」(小飼氏サイン入り)が届いたとのことで、受け取りしてくれていた。
まさか当たるとは!
懸賞に当たるとか、小学生の頃、科学か学習かで「まとまる君」当てて以来だよ!
さっそく読むぞ。
僕もミジンコから少しでもギークに近づきたいものだなぁ。
小飼弾のアルファギークに逢ってきた (WEB+DB PRESS plusシリーズ)
- 作者: 小飼弾
- 出版社/メーカー: 技術評論社
- 発売日: 2008/04/14
- メディア: 単行本(ソフトカバー)
- 購入: 19人 クリック: 834回
- この商品を含むブログ (195件) を見る
- 出版社/メーカー: 学研プラス
- 発売日: 2008/06
- メディア: 大型本
- クリック: 3回
- この商品を含むブログ (2件) を見る