Ruby

Erubis 2.7.0 の rails_helper が Ruby1.9 系で動かない

--- lib/erubis/helpers/rails_form_helper.rb.org +++ lib/erubis/helpers/rails_form_helper.rb @@ -123,7 +123,7 @@ s = "" ## start tag s << "

Redmine の ガントチャートの PDF 出力に縦線を出してみた

--- lib/redmine/helpers/gantt.rb.org Mon Mar 07 20:41:58 2011 +++ lib/redmine/helpers/gantt.rb Thu Apr 07 18:24:09 2011 @@ -259,0 +260 @@ + vertical_line_pdf(options) @@ -261,0 +263,21 @@ + + def vertical_line_pdf(options) + left = options…

Nokogiri で xml2hash

実際に使ってみたら色々と残念な動作をしたので直した def xml2hash(doc) result = nil doc.children.each do |child| if child.text? return {doc.name.to_sym => doc.content} elsif child.cdata? return {doc.name.to_sym => doc.child.content} elsif ch…

gemでインストールされてる場合のみrequireしたい

こんな感じでいいのかな require 'rubygems' gemPathSearcher = Gem::GemPathSearcher.new require 'redgreen' if gemPathSearcher.find('redgreen')

Ruby on Railsでenviroment.rb以外から設定を呼び出したりする

enviroment.rbで↓みたいに書いとく Rails::Initializer.run do |config| $config = config end DB接続の設定とかは↓みたいに使える db_conf = $config.database_configuration[RAILS_ENV] そろそろ書かないと1年経ってしまいそうだったから書いてみた。非常…

モジュールで定義されたクラス変数

Rubyではモジュールで定義されたクラス変数は、include されたクラス間で共有されるのか。気づかなくてしばらくはまった。そうして欲しくないクラス変数の定義は module Foo def self.included(mod) @@hoge = 'hogehoge' end end とかやるべきなのかな。よく…

RubyGemsのエラー

uninitialized constant Gem::GemRunner (NameError) FreeBSD上でgemを最新版に上げたら、↑のエラーが出てgemコマンドが動かなくなったから調べてみた。 結果はこれ。 *** gem Mon Apr 28 17:23:33 2008 --- gem.new Mon Apr 28 17:23:03 2008 *************…

ActionMailerからのメールが一部環境で文字化け

encodingはiso-2022-jpだけど、Windowsの一部環境で文字化けする。 一部環境の条件は不明。とりあえず Content-Transfer-Encodingってヘッダー情報を追加してみた。 これで直るかなー。 def hogehoge(user, sent_at = Time.now) @subject = 'hoge' @body = {…

ERBのtrim_mode

メモメモ <% for user in @users -%> <%= user.name %> <% end -%> とか書いた時に改行文字がちゃんと削られないときがあって困ってた。さっきふと思い出して調べてみたら'\r\n'な時は削ってくれないらしい。 すっきり。

ActionMailerではまった

久々にActionMailerの使おうと思ったら単純なところでハマった。また忘れそうだからメモっとく。 class ExampleMailer < ActionMailer::Base def foo(user, sent_at = Time.now) @subject = "foo" @body = {} @recipients = user.mail @from = 'foo@example.…

ActiveLdap0.8.3.1→0.9.0

LDAP認証に対応したアプリケーションを実環境に移して動かしたら、パスワード間違ってても認証通るようになって焦った。ActiveLdapがバージョンアップしたせいらしい。以下0.8.3.1版と0.9.0版の認証確認用のメソッドの比較。 #0.8.3.1 def authenticated?(pa…

password等のパラメータをlogファイルに出力しない

ログイン時のパスワードとかログファイルに書かれたら困る時は↓みたいな感じで。 class ApplicationController < ActionController::Base filter_parameter_logging :password end これでpasswordって名前で値が渡された場合は出力されなくなる。というか [F…

同一テーブルのhabtm

SNSで友人関係を表す場合とかに使いました。多分あんまりないケースだと思います。 こんな感じでてきとーにやったらできました。問題ないのかどうかちょっと心配。 class User < ActiveRecord::Base has_and_belongs_to_many :friends, :class_name => 'User…

HikiのFlickrプラグインを書いてみた

使い方の説明が不親切だったので書き直しました。あとバージョンアップもしたのですが、ファイルが複数になったので公開できる場所ができたら最新版を公開します。 {{ simple_flickr photo_id, [:square|:thumbnail|:small|:medium|:large|:original], [true…

Maildirからmboxにpackするスクリプト書いてみた

MLのシステムをfmlからmailmanに移行しようと検討中です。移行にはMaildirからmboxに変換する必要があるらしく、もうあったんだけどそんな動きをしそうなスクリプトを書いてみました。うーん、すごく雑だ。突っ込み希望です。 #!/usr/bin/ruby def main mail…

Ruby勉強会の講師やりました

今週はゼミの担当の先生がいないので、本来のゼミの時間にRuby勉強会をやってました。その中で「お前Rubyやってるじゃん」ということで講師に任命されています(本来の勉強会って講師いるのかな?)。初めてのプログラミング作者: Chris Pine,西山伸出版社/…

コード量が増えない

昨日は一日中コタツに入ってカタカタとRubyで掲示板を作っていました。リクエストがあったら掲示板のデータのJSON生成してまとめて返すってだけのものですけどね。 一日中書いた割にはコードの量は50行ぐらいしか進んでないです。行で換算するから悪いのかな…

ActiveRecordで酷いはまり方した

Rubyの勉強のためにちょこちょこスレッド式掲示板作ってます。 で、RailsのActiveRecord使って作ろうと思ってごにょごにょやってたんですが、何故か superclass mismatch for class Thread (TypeError) というエラーがでる。 何でだろうとか思ってたらそうい…