よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

March 25, 2002

[tDiary] search_form.rb

お言葉に甘えて、CVSにaddしちゃいました。ドキュメントの方は(yasqueeze.rbも含めて)、up場所も含めもうちょっと考えてからご相談させていただきます。

[tDiary] xrea + tDiary + Namazu (まとめ)

ここで予告しましたはまってる方もいらしゃっるようなので、ちょっとでも参考になればとドキュメント化を急いでみました。ここに置いておきますんで試してみてください。

本日のツッコミ(全3件) [ツッコミを入れる]

Nana [いつのまにか、でべろっぱになっていらしゃったんですね。 わーいわーい。(笑)]

ただただし [タグで始めるときは行頭に空白入れないと:-)]

むとぽん [Nanaさん:どうもです。そういやget_xrea_dataはどうでした?と言ってみたり(^^;)。 たださん:あぅ..]


March 25, 2003

[Hiki] Hiki/RD+を本体にマージ

いや、技術的には難しくはないです。html_formatter.rb, parser.rbを置き換えてそのほか2つほどクラスファイルを追加するだけになってます(あとは、テンプレートのhtmlファイルにHiki/RD+のコピーライトを入れてますがそれはいじらなくても動きます)。

したがって、html_formatter.rb, parser.rbをうまくプラッガブルにできるようにすれば切り替えは簡単にできると思います。

ただ、ちと問題なのが、Hikiが最初から用意しているdata/配下のファイル(TextFromattingRulesやSideMenu, FrontPage)が意図したとおり表示されないため、まともに使おうと思ったら、その辺のファイルをどうにかしないといけなくなるということです。

で、一番手っ取り早いのがそれらもRDで書いたファイルで上書きしちゃうことですが、それだとあんまりなので、例えば、RDだったらTextFormattingRules.rdというように拡張子でスタイルを定義して最初からdata/配下においておくようにして、かつ、常に拡張子付きでファイルを拾いに行くようにすればうまく行きそうな気が .... と考えつつ、Ruby-GNOME2では思いっきり上書きしてますが(^^;)。

そうそう、それから生成されるHTMLはRDToolが出力するHTMLそのままなので、tDiaryテーマとの互換が微妙にうまく行かないかもしれません。まぁ、それはおいおい直せばよいのかもしれませんが。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [今、ちと細かな調整(バグフィクスとも言う(^^;))をしてますので落ち着いたら一度公開しようと思います。その後の議論..]

たむら [Hiki-ml、激同。]

たけうち [了解です>むとぽん MLですが、数日前SF.jpにhiki-devというのをひっそりと作りました。よろしければ、そち..]


March 25, 2004

[Ruby-GNOME2] GC + Gtk::Widget#destroy

MLで指摘されたんだけど、ウィジェットはいつGCの対象になるべきなのだろう。

require 'gtk2'
class Test
  def hoge
    win = Gtk::Window.new.show_all
    nil
  end
end
Gtk.init
Test.new.hoge
GC.start
Gtk.main

ここで、winはローカル変数なんだから、hogeを呼び出した後で(ウィジェット自体)GCされるべきじゃないの、というのが指摘内容。RubyのオブジェクトとしてはGCされるのかもしれないのだけどウインドウは表示されたままだ。

Rubyオブジェクトの生死のスコープと完全に一致させる必要があるなら、このタイミングでウィジェット自体を破壊(Gtk::Widget#destroyを内部的に呼び出す)してあげないといけないのかもしれない。

でも、それはそれでいろいろ問題ありそうだなー。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [ オブジェクトとはRubyのオブジェクト(インスタンス)って意味ですよね。 ファイルアクセス(openとcloseを..]

なかだ [「openとcloseをする必要がある」に対応するのは「new.show_allとdestroyをする必要がある」で..]

むとぽん [そうですねぇ。その場合、実際はshow_allではなく、newでブロック作るようになるんでしょうけど、シグナルハンド..]


March 25, 2005

[Ruby-GNOME2] MozEditor HTML toy-editor

Ruby/GtkMozEmbed(とRuby/GtkSourceView)のサンプルスクリプト。左ペインにHTMLを書いていくと、それがリアルタイムで右ペインに反映されていく。おもしろい。

これで100ステップ程度。保存処理とかちょっと追加すればそれなりのものになりそうな気がする。ぜひ、そのパワーを試してみてください!


March 25, 2006

[Rails] Ruby-GetText-PackageでActionWebServiceのサポート

Ruby-GetText-Package-1.3.0とActionWebServiceを一緒に使うとエラーになるとレポートがありましたので修正しました。ActionWebServiceを使ってる方でかつRuby-GetText-Packageを使おうと考えている方はCVS版を使ってください。

その際に(需要があるかどうかは疑問だったのですが)、ActionWebServiceでlangパラメータを指定してあげると、controller側でローカライズができるようにしてみました。

# app/apis/product_api.rb
class ProductApi < ActionWebService::API::Base
  api_method :find_product_by_id, :expects => [:lang => :string],
                                  :returns => [{:string => String}]
end
 
# app/controller/backend_controller.rb
class BackendController < ApplicationController
  wsdl_service_name 'Backend'
  web_service_api ProductApi
  def find_product_by_id(id)
   _("foo") + ...
  end
end

[Rails] config/routes.rbで言語を指定する

こちらはRuby-GetText-Package-1.3.0ですでにサポートしているのですが、以下のようにするとURL内で言語を指定することができます。

ActionController::Routing::Routes.draw do |map|
 map.connect 'main_ja', :lang=>'ja', :controller=>'blog', :action=>'list'
 map.connect ':controller/:lang/:action/:id'
end

1つめのmap.connectでは、http://yourhost/main_ja とするとblog_controller.rbのlistアクションを呼び出すのですが、その際に@params["lang"]に"ja"が指定されるため、Ruby-GetText-Packageは日本語を強制的に表示し(ようとし)ます。

同様に2つめのmap.connectでは、http://yourhost/blog/ja/list/等とすると日本語を表示し(ようとし)ます。


更新 設定