rails

自動ロードパスの変更

ActiveSupport::Dependencies.load_paths << File.join(RAILS_ROOT, 'hoge')

selectable_attrって何さ?

定数定義を分かりやすくするために僕が作っているプラグインです。こんな風に思う方に強くオススメです。 マジックナンバーを撲滅したい 値とプログラム上での記述と表示上の名称をひとまとめに書きたい select_tagとかに渡す選択肢(option_tags)をいちいち…

selectable_attrのi18n対応

selectable_attrのi18n対応を行いました。ja.ymlや、en.ymlなどに en: selectable_attrs: enum1: entry1: xxx entry2: yyy entry3: zzzって感じで名称を書いておけば、I18n.localeに従ってその名称を使うようになります。詳しくはテストで。 http://github.c…

i18n_generators で jaとenはOK、thとzhはNG

日本語と英語の設定ファイルは生成できたのに、タイ語と中国語はエラーになっちゃう。 i18n_generator_example$ rm config/locales/th.yml i18n_generator_example$ ruby script/generate i18n th -t exists config/locales create config/locales/th.yml sy…

i18n は Ruby 1.8.7 + Rails 2.2.2 で

$ ruby script/generate i18n ja -t exists config/locales wrong number of arguments (0 for 1) /opt/local/lib/ruby/gems/1.8/gems/amatsuda-i18n_generators-0.3.1/generators/i18n/../i18n_locale/i18n_locale_command.rb:99:in `rindex' /opt/local/li…

JRuby1.1.5 + Rails2.2.2 での注意

普通にwarblerを使って動かそうとすると、 Rails requires RubyGems >= 1.3.1 (you have 1.2.0). Please `gem update --system` and try again.というエラーがでてRailsが動かない。もちろん jruby -S gem -vをやると1.3.1と出る。なのになぜ?と思って調べ…

sshを自前で?

Create a new file, named deploy.rake in lib/tasks/, containing the following code: 昨日、さんざん悩んだNet::SSHの話ですが、capistranoでデプロイするときの動作を調べてたのですが、system("ssh user@host command")って感じなら実行できました。う…

dependency-view

すごいんだけどダメだった。プラグインの説明をするのに、Railsの内部の構造をがつっと動的に表示できたらええなーと思って、requireとか色々フックして、クラスがどんな風になっているのかを表示できるアプリをつくったんだけど、ObjectSpaceとか使っててす…

Rails2.1.2でエラー

ruby script/generate だけでも下のようなエラーがでやがりました。 undefined method empty?' for /_generator$/:Regexp 解決策はこちら http://afreshcup.com/2008/10/25/rails-212-and-22rc1-update-your-rubygems/

gitとsvnでのプラグインの公開方法

gitが素晴らしーと思ったのはプラグイン作ってるときです。 いつもプラグインを作る時はプラグインをテストするためのプロジェクトを作るわけですが、Subversionだとリポジトリ上で、アプリとプラグインを分けるためにはローカルなディレクトリも分けなけれ…

herokuでプラグインのサンプル公開

Masterキートン読みながらだらだらとやってたら時間がかかってしまったけど、プラグインを公開するサイトをheroku(「はおく」と読む。see http://heroku.com/about)でやってます。http://akimatter.heroku.com/各ページ下部にコメントを残せるようになってま…

yaml_waml

id:walf443に1年以上前から「Gemの方が良い気が」と言われていたyaml_wamlをgithub上のgem buildでrubygemsのパッケージにしました。最新版は0.2.0。 gemになってるー!すばらしいっす。即インストールっす。

Ajaxっぽいファイルアップロード

もう2年も前のエントリだけど、id:yamazさんの記事が役に立ちました。ありがとうございます。 「Ajaxっぽく画面遷移なしでファイルアップロードしたい!」と思っていたところ,こんなページが見つかった.http://sean.treadway.info/demo/upload/であれこれ解析…

Thread safety in Rails 2.2

http://weblog.rubyonrails.org/2008/8/16/josh-peek-officially-joins-the-rails-core Josh PeekさんがRailsコアチームメンバーになって、彼がGoogle Summer of CodeプロジェクトでやっていたRailsをスレッドセーフにするという成果が2.2に取り込まれるとい…

2.1.0での引っかかったこと

Rails2.1.0ではコントローラなどで@finderというローカル変数を使っている場合、render :partial => xxxで例外が発生します。 これは、actionpack-2.1.0/lib/action_view/template.rb:63:in `set_extension_and_file_name'で、@finderのpath_and_extensionを…

空ディレクトリに.gitignoreを

#! /usr/bin/env ruby require "find" require "fileutils" GIT_IGNORE_FILE = '.gitignore' EMPTY_DIR_ENTRIES = ['.', '..'] Find.find('.') do |path| next unless File.directory?(path) Find.prune if File.basename(path) == '.git' next if (Dir.entr…

BLOBの最大長

BLOB[(M))] 最大長65,535バイトのバイナリ MEDIUMBLOB 最大長16,777,215バイトのバイナリ LONGBLOB] 最大長4,294,967,295バイトあるいは4Gバイトのバイナリ 前に見かけて知ってたのに、すっかり忘れてた。BLOBだと64Kしか入らない。ちょっと大きなファイルを…

map.resource(s)がURL設計をまとめてくれる

Railsのmap.resource(s)を使うと画面の構成をまとめて記述できます。例えば、config/routes.rbに以下のように書くと、 ActionController::Routing::Routes.draw do |map| map.resource :sessions map.resources :magazines do |magazine| # 雑誌 magazine.re…

rake routes

っていうか、この表示する内容をそのままrakeで出したらいいんじゃね?とか思って、rake -Tしたらすでにrake routesってのがあったよ。 こっちの方が便利じゃん。 まあ、動的にconfig/routes.rbをリロードできる機能と、適当に検索できる機能があるので、全…

config/routes.rbの確認

map.resourcesとか使って、ネストしたリソースを定義したり、map.with_optionsとか使って複雑なルートの設定をまとめたりするのはいい感じなんだけど、実際どうなっているのかを確かめたくて、勢いでプラグインを作りました。 ruby script/plugin install ht…

2.1.0リリース

Rails 2.1 is now available for general consumption with all the features and fixes we窶况e been putting in over the last six months since 2.0. This has been a huge effort by a very wide range of contributors helping to make it happen. 今日…

warbler 0.9.9 + jruby 1.1.2

えー、warは出来るんですけど、動きません。泣。 致命的: Exception caught java.lang.NullPointerException at org.jruby.runtime.load.LoadService.findFile(LoadService.java:466) at org.jruby.runtime.load.LoadService.findLibrary(LoadService.java:3…

goldspikeのconfig/war.rb

railsのアプリをwarにしちゃうプラグインGoldspike。インストールや使い方はこちら。 http://wiki.jruby.org/wiki/Goldspike僕のconfig/war.rbはこれ。 # Goldspike configuration # Set the version of JRuby and GoldSpike to use: #maven_library 'org.jr…

wrappable_columnプラグイン

http://qwik.rubybizcommons.jp/members/407.html名前がイマイチで、何するのかピンとこないかと思いますが、便利なケースがあるかもしれません。 作ってからMySQLの制約に気付いて、これ今回の仕事では使わないかも、ということになるかも。

railscasts

今日のrailscastsは #48. Console Tricks。 > ruby script/console production --sandboxこの--sandboxオプションを付けると、コンソールを抜けるときにロールバックしてくれる。本番運用のproductionモードテストするときにはこれ付けるべきですね。

UserControllerのテストが失敗しまくる

restful_authenticationプラグインをインストールして、それが生成したテストを実行してみましたがやたらと失敗するので、色々ためしてみたところ、use_transactional_fixturesをfalseに設定してみたところ、ほとんど通るようになりました。これってtrueにす…

attr_accessible, attr_protected, in_groups_of

今日から始まったrailscastsコーナー。最近通勤のときにrailscastsを見てるので、忘れないうちにちゃちゃっと書くようにします。 railscastsはこちら http://railscasts.com/ railscasts#26. Hackers Love Mass Assignment attr_accessible, attr_protected…

サーバーの死活管理

GOD。ずっと気になっていた、mongrel_clusterのモニタリングツール。ただの監視だけでなく、ダウン時の再起動、メモリやCPUの条件で再起動とかもやってくれる優れものです。 と、 こんにちは satoです。 monitは プロセスの監視を行うデーモンです。 条件と…

godのインストール

finkでruby-develをインストールしたら、 $ sudo gem install godであっさりインストールできました。

依存関係

GODのインストール。コンパイルが入るので、rubyの*.h(ソースコンパイルやruby-devel)が必要。 ってことなので、Xcodeは入ってますが、ruby-develが入ってなくてインストールに失敗するので、インストールしようとしたらどうやらportでは入らないらしいっ…