紳士なブログ

紳士すぎてすみません

2013-01-01から1年間の記事一覧

findメソッドに:joinsオプション指定したときの:readonlyオプションについて

findメソッドに:joins指定したときのreadonlyオプションについて なんとなくは理解にとどまっていたので、今更ながら調べてみる。 activerecord-2.3.12/lib/active_record/base.rb 611 def find(*args) 612 options = args.extract_options! 613 validate_fi…

読書記録: 『心を整える』

心を整えようと思って読んでみたのでまとめ。 ところどころにあるサッカーの話も面白かった。ドイツいいなー 心を整える。 勝利をたぐり寄せるための56の習慣作者: 長谷部誠出版社/メーカー: 幻冬舎発売日: 2011/03/17メディア: 単行本(ソフトカバー)購入:…

読書記録: 『7つの習慣』

『7つの習慣』についてのまとめ。 土台となる前半についてまとめてみた。 7つの習慣作者: スティーブン・R.コヴィー,Stephen R. Covey,ジェームス・J.スキナー,川西茂出版社/メーカー: キングベアー出版発売日: 2011/06メディア: 単行本購入: 1人 クリック: …

IntegrationTestにリファラをセットする方法

フレームワークはTest:Unit。 FunctionalTestは既知だったけどIntegrationTestは無知だった。 FunctionalTest @request.env['HTTP_REFERER'] = '/donuts/new' post :create, :donuts => { ... } assert_redirected_to 'donuts/new' IntegrationTest post :cr…

読書記録: 『先読み力で人を動かす』

今さらだけど読んでみて、学ぶことが多かったのでメモ。 「先読み力」で人を動かす ~リーダーのためのプロアクティブ・マネジメント~作者: 村中剛志出版社/メーカー: 日本実業出版社発売日: 2008/03/27メディア: 単行本(ソフトカバー)購入: 11人 クリック:…

timestampsの自動更新をやめてみる

Railsでのtimestampsの自動更新の正確な挙動を知りたくなったので確認してみた。 activerecord-2.3.12/lib/active_record/timestamp.rb module ActiveRecord module Timestamp def self.included(base) #:nodoc: base.alias_method_chain :create, :timestam…

ActionViewのselectメソッドのソースコード読んでみた

普段Ruby on Railsを利用しているのですが、その中にあるActionViewについて実はあまりよくわかっていなかったので、ソースコードを読んでみました。Railsのバージョンは少し古くて2.3.12ですm(_ _)mselectメソッドの引数は、method, choices, options, html…

『グーグル ネット覇者の真実』読んでます

4月に入ってから『グーグル ネット覇者の真実』をちびちび読んでいます。 グーグル ネット覇者の真実 追われる立場から追う立場へ作者: スティーブン・レヴィ,仲達志,池村千秋出版社/メーカー: 阪急コミュニケーションズ発売日: 2011/12/16メディア: 単行本…

Vimで意外に知らなかった10つのこと

vim

すごくすごくすごく今さらですが、vimtutorやってみました。 とてもよくまとまっていてびっくりした。基本的な内容だったけど、自己流でやっていたせいか 意外と知らなかったことがあったのでまとめてみます。今まで無駄なことしてたなと少し反省(-_-;) % vi…

RailsでテンプレートエンジンのSlimを使ってみる

Rails環境でテンプレートエンジンのSlimを使ってみる。Slim -A Fsst, Lightweight Templating Engine for Ruby前々から気になってはいたんだけど、昨日のRuby会議で@hsbtさんも利用してたので早速使ってみることに。ちなみに環境はこんな感じ。 Ruby 2.0.0-p…

Rails4.0導入してみた

まだ正式リリースされていないので4.0.0.beta1です。 ➜ ~ gem install rails --version=4.0.0.beta1 Fetching: i18n-0.6.4.gem (100%) Successfully installed i18n-0.6.4 Fetching: multi_json-1.7.0.gem (100%) Successfully installed multi_json-1.7.0 F…

Ruby2.0導入してみた

まずはHomebrewをupdate。 ➜ ~ brew update error: The following untracked working tree files would be overwritten by merge: Library/Formula/cmigemo.rb Library/Formula/pbrt.rb Please move or remove them before you can merge. Aborting Error: F…

HomebrewでSpiderMonkeyをインストール

今更ながらコンソールでJavaScriptを実行するために。 以前やろうとしたときはたぶんHomebrewに慣れてなかったから挫折したんだろうなー。 ➜ ~ brew install spidermonkey ==> Installing spidermonkey dependency: nspr ==> Downloading http://ftp.mozilla…

東京Ruby会議10に行ってきた

昨日と今日、東京Ruby会議という名の千葉Ruby会議に行ってきました。 東京Ruby会議10 #tkrk10 - Regional RubyKaigi 会期:2013/01/13(日)〜14(祝・月) 自分には上手いことあれこれコメントできないので、 聴講したプレゼンの資料とかまとめておきたいと思い…

classキーワードとclass_evalメソッド

Module.class_evalメソッドってどういうときに使うんだっけ、どうしてclassキーワードを使わないんだろと、ふと気になったので簡単にまとめておく。 classキーワード 定数(クラス名)を必要とする 現在の束縛を捨てて、新しいスコープをオープン classはス…

ActiveRecord::Base.find

よくお世話になっているくせにRailsのfindメソッドのコードを初めて読んだので、メモ。 activerecord-2.3.2/lib/active_record/base.rb def find(*args) options = args.extract_options! validates_find_options(options) set_readonly_options!(options) c…

extract_options!

お馴染みextract_options!メソッドですが、正確なコードを忘れてしまっていたので備忘録としてメモ。module Arrayで定義されているのが個人的に面白いと感じたり。 Rails : 2.3.2 module ActiveSupport module CoreExtensions module Array module ExtractOp…

モンキーパッチの防止(Rakeの場合)

Rubyは動的言語であり、メタプログラミングを駆使すれば魔術のようなこともできる。一方で、一歩間違えればコードの複雑性が上がり、可読性が下がってしまう危険性があるどころか、思わぬ挙動を引き起こしてしまうこともある。 テストを必要十分に書くという…

ActiveRecord::AttributeMethods

明けましておめでとうございます。本年もよろしくお願いいたします。 新年早々、ActiveRecordのコードを読んでいて書き方が勉強になったので、今後の参考にメモしておきます。(ソースコードはこちら) ちなみに、もともとはinstance_method_already_impleme…