ウェブサービスを作っています。

2008-07-01から1ヶ月間の記事一覧

はてなブックマークのエントリーページを開くブックマークレット

javascript:window.open('http://b.hatena.ne.jp/entry/'+location.href);undefined;簡単なブックマークレットですけど、これをスマートキーワードに設定したり、Safari のブックマークバーに登録したら何気に便利でした。

Firemacs の設定をリセットする方法

prefs.js から userpref("firemacs2. で始まる行をすべて削除 Firemacs を再インストール

DateHelperJa プラグイン を Rails 2.1.0 に完全対応させる

追記(2008/12/21 9:41): Rails 2.2 では動きません。 先日の話の続きです。 ちゃんとわかった気がするので、エントリにします。 まずは DateHelperJa プラグインをインストールします。 script/plugin install http://softculture.com/rails/plugins/date_he…

DateHelper の :include_blank に文字列を指定できるようにする

Rails 2.1.0 です。 FormOptionsHelper の :include_blank には文字列を指定できるくせに、DateHelper には true しか指定できなくてむかついたので作りました。 module ActionView::Helpers::DateHelper def select_html_with_useful_include_blank(type, h…

content_tag とか tag は中身のエスケープはしない

content_tag :h2, '<b>太字</b>' は、 <h2>&lt;b&gt;太字&lt;/b&gt;</h2> とかなりません。 第 4 引数の escape は属性のエスケープに関するもので、 content_tag :h2, 'hoge', :style => '<b>太字</b>' の結果は <h2 style="&lt;b&gt;太字&lt;/b&gt;">hoge</h2> になります。 まあよく考えればわかるはずなんですが、ふつうに…

ドコモでも CSS を外部参照で使える docomo_css プラグインをリリース

milk1000cc/docomo_css · GitHub テスト書いてからリリースしようと思っていたのですが、 これ読んで今出さねばと思い、リリースです。 内容は、コントローラに class ApplicationController < ActionController::Base docomo_filter end とか書いとくだけで…

モデルの階層化

なんとなくやってみたらできました。 app/models/foo/bar.rb class Foo::Bar < ActiveRecord::Base end Foo::Bar.find(:all) とか、できます。 テーブル名は、foo_bars と考えられるようです。 has_many :foo_bars とかでアソシエーションもうまく動いてるっ…

git commit -a の -a は all

git

add だと思ってたせいで、.gitignore 書いたのにコミットされちゃって何だこれとか数分悩みました。 git add . && git commit ってやれば .gitignore 考慮されながらコミットできていい感じです。

TinyCss を github に置いて gem にしました

先日のエントリで公開した TinyCss をいろいろいじって、github で gem にしました。 milk1000cc/tiny_css · GitHub sudo gem install milk1000cc-tiny_css --source=http://gems.github.com でインストールできます。インターフェースは変わってないですが…

dup

class Foo attr_accessor :ary def initialize self.ary = [] end end before = Foo.new before.ary = [1, 2, 3] dup = before.dup dup_ary_copy = dup.ary dup_ary_copy.reverse! p before.ary #=> [3, 2, 1] dup したところで、複製されたオブジェクトのイ…

TinyCss クラス

CSS::Tiny を参考にして、Ruby で CSS を処理する TinyCss クラスを作りました。 css = TinyCss.new.read('style.css') css.style['a']['background'] = 'black' css.write 'new_style.css' みたいに使えます。詳しくはソースを見てください。 class TinyCss…

find_or_initialize_by_xx(yy) を勘違いしてた

Model.find_or_initialize_by_xx(yy) は、 Model.find_by_xx(yy) || Model.new と同じだと思ってました。でも、 Model.find_by_xx(yy) || Model.new(:xx => yy) と同じっぽいですね。 xx が yy なのを検索して、なかったら yy で xx を初期化する。

MatchData#captures とかはじめて知った

すっかり 7 月ですね。 さて、正規表現のマッチ部分が $1, $2 とかに入るのは知っていたのですが、これだと最後のマッチ結果しか入らないし、たまに美しくない場合がありますね。 で、Rails のソースを読んでいたら、MatchData#captures なるものを発見しま…