ruby

東京Ruby会議01の資料って

まとまってないのかな。ClassXのやつは見つかったんだけど。http://d.hatena.ne.jp/walf443/20080821/1219318669動画見直すのはダルいなあ。

Railsのシンボル拡張

RailsのActionController::Filters::Filter内に以下のメソッドがあります。 def included_in_action?(controller, options) if options[:only] Array(options[:only]).map(&:to_s).include?(controller.action_name) elsif options[:except] !Array(options[…

Ruby会議が東京で

東京Ruby会議01 - Regional RubyKaigi でます。

attr_internal_accessor

Railsのアクション内で、そういえばrequestやparamsとかってどうやってアクセスしてるのだろうと気になったので調べてみました。とりあえずActionController::Baseを調べてるとassign_shortcuts(request, response)というメソッドを発見。 def assign_shortc…

CentOSにもRmagickをインストール

ImageMagick-develパッケージがどうもうまく入らず、とりあえずImageMagickをソースからコンパイルすることに。面倒なので全部root。 # yum install libjpeg-devel libpng-devel freetype-devel # wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageM…

RMagickをインストール

http://rubyforge.org/projects/rmagick 色々あってRMagickをインストールしようとしたのですが、会社で使ってるCentOSにいれようとしたらかなり面倒だったので放置して家のUbuntuにいれてみました。まずはImageMagickをインストール。 $ sudo apt-get insta…

特異クラス?

すでに特異メソッドについては触れました。簡単におさらいするとRubyではオブジェクト(インスタンス)に対してメソッドを追加することができるわけです。この考えをもう少し進めるとクラスに対する他の操作をオブジェクトに対しても行えるようにしたくなって…

Rubyのインクリメントについて

Rubyにインクリメントってないんだね。 すんません.この件は以前から指摘されているのですが(演算子はC に似ているのに++と--は対応する演算子が無い),++の動作が本質 的に「変数を操作する」ものであるため,変数がオブジェクトでな いRubyでは導入できな…

Rubyでべき乗

p 2 ** 10 # => 1024 使わないから全然わからんかった。ちなみにPHPだとpow関数。 1024 ?>

Rubyのprivateメソッドについて

まず、Rubyでは関数形式(レシーバを省略した形)でしか呼び出すことのできないメソッドのことをprivateなメソッドと呼んでいます。C++やJavaのprivateとは意味が違うので注意してください。 プログラミング言語 Ruby リファレンスマニュアル というわけでちょ…

CentOS5にsqlite3-rubyをRubyGemsでインストール

会社のPCにrailsが入ってなかったので入れることに。とりあえずRubyGemsすら入っていないのでインストールしてみました。まずはRubyGemsをインストール。 # wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz # tar zxvf rubygems-1.2.0…

rails.vimをインストール

とりあえずSubversionでチェックアウトしてきたら、READMEしか存在せず、中をみるとGITに移動したとのこと。というわけでまずはUbuntuにGITをインストールします。 $ sudo apt-get install git-coreんでrails.vimをインストール。(~/.vim内には各ディレクト…

migration時に自動で外部キーをセットする

Foreign Key Migrations Railsのmigrationって、DBそのものに外部キー制約をつける場合は自前でSQLを書かないといけないので面倒なんですよね。対策の1つとして、以下のようなヘルパを作成する方法があります。 module MigrationHelpers def foreign_key(fro…

t.timestamps

Rails2.0.2でgenerate modelをしたら、t.timestampsっていうのがデフォルトでついてました class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.timestamps end end def self.down drop_table :users end end 大体予想は…

sqlite3-rubyをインストール

ふとこの前作ったRailsプロジェクトのconfig/database.ymlをみたらSQLite3がデフォルトになってました。調べたらRails 2.0.2から変わったみたいです。SQLiteが.quitで抜けられることをいつまで経っても覚えられないので、これを機に頑張っていじってみようと…

irbを拡張してみる

先に実行したコマンドとか。必要なパッケージを落としたあと、ホームディレクトリに.irbrcというファイルを作成します。 $ sudo gem install wirble what_methods $ vi ~/.irbrc# load libraries require 'pp' require 'rubygems' require 'what_methods' re…

Ruby勉強中

とりあえずUbuntuにインストール。 $ sudo apt-get install ruby rubygems irb ri rdoc 今日覚えたこと。 Dir.pwd File.dirname(__FILE__)