ruby

『[http://lowreal.net/logs/2006/07/31/1:title=自動リロードで開発をアジャイルにするたった一つの方法!]』ができた

/usr/bin/GETが使えるようになったので、遠隔オートリロードができるようになりました。 でもちょっと遅いな・・ こっちのほうがいいのかなー。 特徴としては、保存のタイミングをフックできないエディタでも動く(定期的にファイルの更新時刻をチェックして…

XRuby

うわー。これスゴい。 XRuby is an open source Ruby compiler which compiles Ruby source code (.rb) to Java bytecode (.class). For more information, please visit our project home at Google Code. http://xruby.com/default.aspx

結局、URLのコントローラー部が間違ってたとき

500エラーが出るようにフレームワークでなってしまってるから、404を出したいなら dispatcher.rbのfailsafe_responseを書き換えてしまうのはアリなのかナシなのか。 # If the block raises, send status code as a last-ditch response. def failsafe_respon…

rescue_action_in_public

ああー、rescue_action_in_publicの呼び出し元のrescue_actionは、actionのエラーを拾うだけなんダナ。そもそもcontrollerがみつからなかったらここまでとどかないのは仕様ですか。。

404エラーの出方を知りたい

いちおう、以下のナイヨウはproductionモードの話。 コントローラーが存在してアクションがないURLの場合、404エラーになる コントローラーがないURLの場合は500エラーになる コントローラーがない場合、ActionController::RoutingErrorがraiseされる。 コン…

apache2.2 + mongrel cluster

apache2.2のmod_proxy_balancerを使ってmongrel clusterにリクエストを割り振るようなものをセットアップしてみました。 かなりすんなりいけた。というのは、こちらがとても親切に説明していてくれたからです。多謝。 Apache 2.2.0 のロードバランス機能(mod…

半角文字を全角文字に変換する

UTF-8環境で半角文字を全角文字に変換するものを書いてみました。 module StringUtil def self.append_features(klass) super klass.class_eval do klass.extend ClassMethods end end module ClassMethods def han2zen(text, nonkana = true) require "jcod…

なるほど。require_gemってそういうことなんだ。しらなかった。

ruby-debug

なんか大事な前提を見過ごしてる気がするけど、ここに書いてある方法でruby-debugを試すことができなかった。 で動かす方法を調べてみた。 ruby-debugのインストール gem install ruby-debug 初期設定 development.rbの最後に require 'ruby-debug' …

DATE/TIMESTAMPのカラムのscaffoldでViewが作られない

DBはOracleなんですけど、テーブルこれでつくりました class Cars < ActiveRecord::Migration def self.up create_table :cars do |t| t.column :name, :string t.column :maker_id, :number t.column :arrived_at, :datetime t.column :created_at, :timest…

SpecialGenerationプラグイン

モデルクラスを先に作っとかないと script/generate special モデル名できない。

script/xxxx

script/about bird:# script/about About your application&#39;s environment Ruby version 1.8.4 (i386-linux) RubyGems version 0.9.0 Rails version 1.1.6 Active Record version 1.14.4 Action Pack version 1.12.5 Action Web Service version 1.1.6 A…

DATE型のカラムを検索する

OracleのDATE型 >> member = Member.find(10000) "id" "members" => #<Member:0xb339510c @attributes={"name"=>"maiha", "arrived_at"=>#<Date: 4903089/2,0,2299161>, "id"=>10000, "presence"=>2, "created_at"=>#<Date: 4903089/2,0,2299161>}> >> member.arrived_at NoMethodError: private method `gsub!&#39; called f…</date:></date:></member:0xb339510c>

共通処理

モデル・・・ActiveRecord::Observerを継承したクラスに書く コントローラー・・・ApplicationControllerに書く ビュー・・・パーシャルとかApplicationHelperとか

LoginEngineプラグイン

script/plugin install login_enginelink_to_remoteで呼び出したアクションのbefore_filterに引っかかると なにも応答がなくなる・・

visual_effect

<%= javascript_include_tag "effects" %>

after_filter

after_filterメソッドでrender書くとDoubleRenderError after_filterメソッドでメインメソッドで生成したインスタンスを操作できない メインメソッドで例外が発生してもrescueすればafter_filterメソッドが実行される 間違えてるかも。

visual_effect

? エラーになってしまう。

RailsTidy

XHTMLの構造をチェックしてくれるというRailsのプラグイン「RailsTidy」を入れてみました。 http://blog.cosinux.org/pages/rails-tidy プラグインがおいてあるところをsourceで加える # script/plugin source http://www.cosinux.org/~dam/projects/rails-t…

ActiveRecordでOracleにつなぐ

ふーふー。やっとつながった。。 かなりめんどくさかった。 OracleClientをOUIで入れるのに失敗したのが痛かった。 ActiveRecordでOracleにつなぐには ruby-ociのインストールが前提。 http://rubyforge.org/frs/?group_id=256&release_id=6553 が、ruby-oci…

Vimで編集中のコードを実行

げげげ。こんなんできんのか。 かなりすごい。 visualモードで実行したいコードを選択して :&#39;<,&#39;>w !ruby

Inflector#constantize

Inflector#constantizeがなにやってるかようやくわかった。 Rails名前規約に沿ってるかチェックして、渡した文字列のクラスを作って返すのね。 たとえば、ActionController::Pagination#paginateで引数の文字列をもとにしてモデルのクラスをつくってますね。…

classメソッド

なぜだかclassメソッドは親クラスを教えてくれるもんだと勘違いしてた。 基本的にオブジェクトにあなたはどのクラスからできましたか?って聞くメソッドなのね。 ユーザー定義のクラスに聞いたら、ユーザー定義のクラスはメタクラスのオブジェクトだからClas…

ActionController::Pagination#paginateとかで使われてますね。 多重代入かぁ。

こんなんもありですか

irb(main):035:0> class ABC ; if 1==1 then p "hello" end end "hello" => nilARでこんな感じで書いてalias_methodしてるとこがあった。

三項演算子がいっぱいでてくる

んですよ

Hash#update

ほえー。 これでARのメソッドに渡すoptionを書き換えてるんだなあ。

あった

action_controller.rb:72: include ActionController::Pagination

ActionController::Pagination#paginate

はうはう。ページャー。 ぜんぜんわからん。 Paginationをどこでincludeしてる? paginateの第一引数をいじってActiveRecordのクラス名(Itemsとか)にしてるけど、それにclassで聞いてみたら「Class」。なのにfind使えちゃうのかい?

acts_as_treeとacts_as_nested_set

再帰テーブルの表現に使うそうだ。。