% rails collision
% cd collision
% ./script/generate controller foo
% ./script/generate controller admin/foo
  The name 'Admin::FooHelper' is either already used in your application or reserved by Ruby on Rails.
  Please choose an alternative and run this generator again.

(komagata) namespace別で同名controller使っている方いますか? (komagata) generaterのclass_collisionsに引っかかる・・・ (a_matsuda) もしかしてRailsがデグれたかも? (kakutani) komagata: わ。ほんとだ。エラーになりますね

% rails _2.0.2_ collision
% cd collision
% ./script/generate controller foo
% ./script/generate controller admin/foo

(komagata) 2.0.2では出ませんね (a_matsuda) ですよね。やっぱり。こりゃデグレっていうべきなんじゃないかなぁ。 (komagata) 困ったなー (kakutani) Rails::Generator::Baseをチラ見したぐらいじゃ違いがわからんですな (conceal_rs) ApplicationControllerで helper :all と書いていると,そういうエラーが出るらしいですね (kakutani) なんとそんなところにワナがあるのですか (conceal_rs) helper :all コメントアウトしたら,出なくなりました 2.1.0 で (a_matsuda) あー。なるほどなるほど。 (conceal_rs) http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/545 (conceal_rs) がその問題のTicketです (a_matsuda) まさに「ドンピシャ」。 (kakutani) 続々とオレもハマった報告が :-< (komagata) おおおおおおおおお (yoshuki) おおおおおお (komagata) lighthouse調べるべきでした ありがとうございます! (kakutani) conceal_rs++ (yoshuki) どストライクきたぁ (komagata) どこに振り込めばいいですか *walf443 topic : どこに振り込めばいいですか (kakutani) ところで、なんで helper :all してたらだめなんw (conceal_rs) 振込は日本Rubyの会にでもw (kakutani) Railsイミフwww

またrails-tokyoのIRCで助けられました。あざーっす!

Logicool VX ナノ コードレスレーザーマウス フォア ノートブック VX-N

マウスのホイールのゴムがでろでろになったのでロジクールのUSBレシーバがちっちゃい奴買いました。

ちっちゃいから付けっぱなしOK。

Bluetoothマウスは高かった割りに立ち上げるたびに認識する必要があったり、物理的にぶっ壊れたりで残念。

ノートとマウスは適当に持ち歩いてるから耐久度も気になってきました。ロジクールのは結構頑丈そう。使い心地も気持ちいいです。あとAmazonでケフィアも一緒にかったよ。最近腹の調子が悪いので。

ケフィア粒 65粒

ええと、良さ気なRubyGemを紹介する動画サイトGemCasts.orgをやっています。

gemcasts

GemCasts.org

一人でやっているとさびしい+更新ペースが遅いのでどなたか一緒にやりませんかー。 多ければ多いほど嬉しいです。EngadgetのGem版みたいなのりで・・・。(ニッチ)

CemCasts.orgのブログのアカウントを発行しますので適当に動画アップしていきませんかー? 動画はできればツッコミのできるニコニコ動画がいいっすね。(Vimeoとかでもかまいませんが)

俺が作ったGemの紹介!とかでもかまいません。

ここのコメント欄やメール、Twitter(komagata)、なんでもいいのでGemCasts参加希望とのむねをお伝えくださいー。

Game*Spark – : 1992年にGameProが配った『ストリートファイター』バレンタインデーカードが酷い件 by RIKUSYO

人気格闘ゲーム、ストリートファイターのキャラクターが描かれたバレンタインデーカードなのですが、このキャラクターの絵がとんでもない代物でした。

e-honda

92年に送られてきたらたしかにショックだけど、カッコいいなw。

freenodeにrails-tokyoチャネルを作りました

ということで、irc.freenode.netに#rails-tokyoチャネルを作ってみました。

ッザース!

早速JOINして下らない質問をしてみたところ、すぐ回答してもらえました。良い人だー!

質問:「sessionって普通どう消してますか?」

答え:「DBの場合はcronとかで普通に消すとのこと。」

14日前までのは消して、ついでにOPTIMIZEというのを用意してこれをcronで回すことにします。

script/dbmaintenance:

#!/usr/bin/env ruby
RAILS_ENV ||= "production" 
require File.dirname(__FILE__) + '/../config/boot'
require RAILS_ROOT + '/config/environment'

con = ActiveRecord::Base.connection
con.execute "DELETE FROM sessions WHERE updated_at &lt; '#{14.days.ago.to_s(:db)}'" 
con.tables.each do |table|
  con.execute "OPTIMIZE TABLE #{table}" 
end

現行アプリだとショッピングカートみたいのがあるので結構溜まってました。

PHPだと言語自体にsession gcがあるからそういうのがあるのかと勘違いしてました。でもPHPのDebianパッケージ版はsession gc切ってcronで消してたから特に違和感は無いですね。

restful_authenticationだとsessionが使わないから不要?キャッシュ用途だとDBじゃ遅いから意味ないのかな。

漫画家アシスタント 第4章 その14 – 漫画家アシスタント物語

漫画家アシスタント物語、血の教訓     『ハングリーポイントは振られたり、他の奴に恋人を寝取られたりした時に異常な上昇を示す。 いい作品が1,2本作れるほどのポイントが溜まる・・・・・が・・・・ グズグズしていると、 電池の様に自然放電して、パワーダウンするので注意が必要である。』

漫画家J・A先生のアシスタントを30年近く務めている人の血の教訓。

やっぱ年配の個人のブログは面白いものが多い。それも人に見られる事を前提とした文章を訓練してきた人のものは特に。

50代になってもこういう軽やかなものが書けるのは凄いな。

J・A先生の作品で最近読んだのは聖書だな。聖書の背景もこの人が書いたところがあるのかな。続きも読みたくなってきた。あとアシュラも読みたい。一気に買っちゃおうかな?

聖書 (1) (幻冬舎文庫 (し-20-6))
アシュラ (上) (幻冬舎文庫 (し-20-2))
アシュラ (下) (幻冬舎文庫 (し-20-3))

rails_ext.rb ペタ。

ウノウラボのcoco1さんの記事を見てIRCを入れてみようと思いました。

UlimaOnline廃人時代以来あんまり使ってなかったのでいったいどこに入ればいいのか・・・。haltさんの教えもあって#PHPStudyと#CakePHPに入れました。

今日びのIRCライフはtiarraというIRC Proxyを立てて、そこからtwitterやらlingrやらを取りに行って一括して扱うのが普通だそうです。ポートが必要な常駐ソフトを使ってるってことはみんなサーバー持ってるってこと?ワープアショックです。

よく考えたら、前に使ってた糞VAIOが**ny専用機+プリンタサーバー+NASって感じで放置されてるのに気付きました。

糞の中のcoLinuxをブリッジ接続にして外からはdynamicDNSを振りました。これでtiarraライフが。

しかし、家だとLAN内アドレス、外だとdDNSのアドレス、切り替えるのが面倒臭い。家にDNS立てればいいのかな?だりー。

テストって単体でも実行できるようになってるので、

ruby test/functional/providers_controller_test.rb

で実行できる。

でも、Rails環境を読み込んでやるテストとは状況が違う。同じ環境で一個だけテストしたい。

rake test TEST=test/functional/providers_controller_test.rb

こう書けるなんて知らなかったよ・・・。たまたまMLで見っけた。

この実装は何処に書いてあるんだろう。Rakeのコア部分とRailsのtesting.rake読んだだけじゃわからなかった。Rakeのtest部分に書いてあるのかな?

「Railsレシピブック」出張版でCapistranoの話を聞いてきたのでついでに最近嬉しかったCapistranoネタ。

名前は違えどどこの開発でも大体見かけるステージング環境(本番と同じ環境だけど本番とは別)。

cap1.xの時はdeploy_staging.rbとかを作ってたしか、cap -f deploy_staging.rb deployってやってたんだけど、cap2.xで-fするとそのファイルの中身のtaskしか読まなくてcap自体のタスクを読まねえ。

ちょっと調べるとcapistrano-extってgemがあるそうです。

capistrano-extでステージング環境にデプロイ:

# config/deploy.rb:
require "capistrano/ext/multistage"

とやるとstaging, production, testingという環境が定義される。

config/deploy.rb
config/deploy/production.rb
config/deploy/staging.rb

こういうファイルでそれぞれの環境毎の設定が書ける。共通部分をconfig/deploy.rbに書いて、production.rb, staging.rbは差分だけ書けばいい。

cap staging deploy:update

よかったのかい、ホイホイステージング環境デプロイしちまって。ッアー!

でも、そもそもステージング環境ってモノ自体に少し疑問が。本当に必要なのかな?railsの環境分ける機能は一気に広まったけどそもそもそれに起因する面倒もあると思う。次世代のフレームワークには環境分けなくても大丈夫なナニカがあるといいな。(production, development, testing分けは技術面からの要請だと思うので、技術で解決するんじゃないかという憶測)