2006-08-01から1ヶ月間の記事一覧
げげげ。こんなんできんのか。 かなりすごい。 visualモードで実行したいコードを選択して :'<,'>w !ruby
Inflector#constantizeがなにやってるかようやくわかった。 Rails名前規約に沿ってるかチェックして、渡した文字列のクラスを作って返すのね。 たとえば、ActionController::Pagination#paginateで引数の文字列をもとにしてモデルのクラスをつくってますね。…
なぜだかclassメソッドは親クラスを教えてくれるもんだと勘違いしてた。 基本的にオブジェクトにあなたはどのクラスからできましたか?って聞くメソッドなのね。 ユーザー定義のクラスに聞いたら、ユーザー定義のクラスはメタクラスのオブジェクトだからClas…
ActionController::Pagination#paginateとかで使われてますね。 多重代入かぁ。
irb(main):035:0> class ABC ; if 1==1 then p "hello" end end "hello" => nilARでこんな感じで書いてalias_methodしてるとこがあった。
んですよ
ほえー。 これでARのメソッドに渡すoptionを書き換えてるんだなあ。
action_controller.rb:72: include ActionController::Pagination
はうはう。ページャー。 ぜんぜんわからん。 Paginationをどこでincludeしてる? paginateの第一引数をいじってActiveRecordのクラス名(Itemsとか)にしてるけど、それにclassで聞いてみたら「Class」。なのにfind使えちゃうのかい?
再帰テーブルの表現に使うそうだ。。
http://www.loveruby.net/ja/rhg/book/minimum.htmlから。 特異メソッドはどんなときに使うか。まずJavaやC++で言うスタティックメソッドのようなものを定義するときだ。 つまりインスタンスを生成しなくても使えるメソッドである。 こういうメソッドはRuby…
append_featuresが先に呼ばれるようだ。
require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.establish_connection( :adapter => 'mysql', :host => 'localhost', :username => 'ypuser_d', :password => 'ror', :database => …
なるほど、引数にアスタリスクで受け取り側は配列として扱ったり、呼び出し側は配列を展開して渡したりできるわけか。
なんか前に書いたことはなんか的が外れてる気がするなあ。 うまくまとめられんけど。 クラスメソッドを単に追加するだけならModule#includedの中でClass.extendさせればいいんだよなあ。 Calculationsモジュールは(mixinしないで)クラスメソッドだけ追加し…
便利だなー
refeで出てこない。。 ここには載ってるな。 つか、ふつうに考えろよ>自分
ストリップか。ストリップストリップ。 先頭と末尾の空白文字を全て取り除きます。 空白文字の定義は " \t\r\n\f\v" です。
接続するデータベースはMySQL。 ActiveRecord::Base.connection クラスメソッドconnectionが定義されてるのは active_record/connection_adapters/abstract/connection_specification.rb クラスメソッド:connection if @active_connection_name && (conn = …
Rubyが実行中のファイル名と行番号
refeによると・・ モジュールのコンテキストで文字列 expr を評価してその結果を返します。 fname、lineno が与えられた場合は、ファイル fname、 行番号 lineno にその文字列があるかのようにコンパイルされ、 スタックトレース表示などのファイル名/行番…
ようだ。書いてみたわかった。悩んでしまった。。
お約束のestablish_connectionメソッドあたりの感想。 require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.establish_connection( :adapter => 'mysql', :host => 'localhost', :username => 'rails…
自分でActiveRecord::BaseクラスやValidationsモジュールの簡易版を書いて 動かして、なんとなく分かってきた気がする。 ActiveRecord::BaseクラスでValidationsなどのmoduleをextendすると ValidationsのインスタンスメソッドはBaseクラスのクラスメソッド…
ファンクション・ベース索引を使う際に設定しておかなければならない初期化パラメータのことを忘れていた。 ファンクション・ベース索引を使用するためには、以下の設定を行うか、 SQL中に明示的にHINT句を指定する必要があります。 初期化パラメータ「QUERY…
moduleをクラスメソッドにするにはextendすればよいみたいなので違うみたいだ。。
active_record.rb ActiveRecord::Base.class_eval include ... endactive_record.rbはこうなってます。 正直、ぱっと見何やってんのかわからなかった。 なぜ、下のような定義ではないのか。 class ActiveRecord::Base include ... end (そうぞう) クラスの…
「$ set line = $< 知らなかったなあ。
こちらをみて、幸せになれそうなrails.vimを導入。 ・・・なんでダウンロードファイルってzipなんですかね。。 zipファイルってwgetできないんですけど。。やり方がなんかあるんだろうな。 とりあえず入れてみました。 あ、sql.txtとdbext.txtがmysqlタグで…