トップ 最新 追記

Route 477



2011-02-01

[ruby] ゴールドRuby使い

78点でした。75点ボーダーなのでけっこう危ない。

50問中11ミスなんだけど、いまのところ4問しか間違いが確定できてない。あとはどこで間違えてるのか…

これやっとくと参考になるかも?


2011-02-02

[ruby] Twitter gemの使い方を更新しました

なんか0.9.8から1.1.1でAPIがごそっと変わってたのでいろいろ直しました。


2011-02-10

[book] 昨年売れた本ランキングとか

やろうと思ってたら2月になってしまったという。

1位

B003L7H9SA

2位

4774143898

3位

4798025623

4位

4873114454

5位

4777512924 4774142727 4774143243 4774143073 477414164X 4798119172 4797352604

というわけで1位は松江ラーメンでした(本じゃない!)

[rails] "Simple Omniauth"に従ってログイン処理を書いてみたのだが

RailsCastsの「Simple Omniauth」という回で、Omniauthを使ってTwitterログインを実装する方法が紹介されている。 「Simple」というのは、deviseとか使ってパスワードでもTwitterでもログインできるようにするんじゃなくて、OmniauthによるTwitterログインのみ提供する、という意味。

んでそれに従うと本当に簡単にTwitterログインができるんだけど、テストを書こうとしてちょっと困った。

config/routes.rbでは、以下のように〜/auth/twitter/callbackというURLにsessions#createを割り当てている。「resources :sessions」ではないので、〜/sessions/createというURLは存在しない。

 match "/auth/:provider/callback" => "sessions#create"

さて、test/functionals/sessions_controller_test.rbでcreateアクションのテストをしようとして

 post :create

と書くと、「:controller => "sessions", :action => "create"というルーティングは定義されていない」というエラーになってしまう。

こういうケースってどうしたら良いんでしょう?

ちなみにtest/integraton/でやろうとすると、post "/auth/twitter/callback" はできるんだけど、その前にrequest.env["omniauth.auth"]に値を入れる方法がないという…

とりあえず config/routes.rbにresources :sessionsを追加してテストを書いた。


2011-02-13

[rails] 10 Ruby on Rails Best Practices - SitePoint

The Ruby Show経由。

  1. Fat Model, Skinny Controller
  2. Reusable Scopes and Relations
  3. Package Your Code into Gems and Plugins
  4. Use the Built-in Ruby Duck Typing Methods
  5. Manage Attribute Access
  6. Use Non-database-backed Models
  7. Virtual Attributes
  8. Use Translations

2011-02-21

[ruby] WEB+DBのRuby連載第5回はRakeとChefとCapistranoの話です

今週発売のWEB+DB PRESSのRuby連載は、Rake・Capistrano・Chefの記事を書きました。「Rubyによる自動化」つながりです。 Rake=日々の作業を自動化する=初級、Capistrano=デプロイとサーバ管理を自動化する=中級、Chef=サーバ構築を自動化する=上級というイメージで、それぞれ2p/3p/3pという配分です。

Chefはけっこう複雑なシステムなので3pでは導入部分までしか書けませんでしたが、 いきなり公式Wikiを見るとどこから読んでいいのか分からなくて困ると思うので(というか困った)、先に本記事を導入として読んでいただくと入りやすいと思います。

4774145440

メモ1

Capistrano + Rails3(Bundler) + Unicornという組み合わせは罠があるそうです。

メモ2

そういえば本編では「とりあえずchef gemを入れてchef-soloを試す」という手順を書いたので、まっさらのマシンにChef Soloを入れる手順は書かなかったのでした。

まあRubyを入れてRubyGemsを入れてChef gemを入れてもいいんですが、Debian/Ubuntu/CentOS/RHELに関してはパッケージマネージャで入れるのが楽です。


2011-02-27

[ruby][memo] RubyとGUI

メモです。

名前 処理系 OS 備考
Windows Mac Linux
Ruby/Tk Ruby 要Tk、標準添付
Ruby/GNOME2 Ruby 要Gtk
HotCocoa MacRuby × ×
limelight JRuby
shoes (Ruby) GUIツールキット非依存
Bowline Ruby まだ HTMLベース

最近更新がないもの (使えないとは限らない)