ruby

ActiveRecord の scope 内でリレーションが切れると undefined

こんなのにはまる人はいないと思いますが、 scope と一緒に find とかリレーションがかえってこないメソッドを使用すると、 undefined method `default_scoped?' ってなります。 私は非常に悩みました。 悲しかったです。

ActiveRecordで特定カラムの要素を配列で取り出す。

ActiveRecord::Relationクラスにpluck(:hoge) で。 > Story.scoped.pluck(:title) (2.5ms) SELECT title FROM `stories` WHERE `stories`.`publish` = 1 # => ["パンドラ(禁后)", "リゾートバイト", "姦姦蛇螺", "地下のまる穴", "封じ", "八尺様", "赤い…

Clockwork で cron on Heroku

Heroku で cron したくて調べたらclockworkというgemがよさそうだったので使用してみた。 Gistでもよかったんだが、せっかくなのでブログにも書いてみた。 内容としては毎日指定した時間にLingr上でつぶやくbot 感想としてはClockworkの時間の指定の仕方がシ…

Rails の Model のカラムのタイプをとる

便利だったのでメモ。 > Admin.columns.find{ |n| n.name == 'id' }.type => :integer

メソッドの定義されている場所を出す

> Admin.method(:scope).source_location => ["/Users/hrysd/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/scoping/named.rb", 174]

Mountain Lion に rbenv を導入

rbenv とは いろんなバージョンのRubyを管理するもの。 RVMなんてのもあります。 Instlall してみる Githubからクローンする方法とhomebrewで入れる方法がある。 僕は、homebrewを乱用しているので、アップデートしてから入れた。 $ brew update $ brew inst…

db_purge という gem をつくった。

何をするgem? これは、Rails のdevelopment環境でsqliteを使用している人向けです。 ブランチ移動で、dbに変化とかあって一気につくり直す時とかに使用します。 単に db を drop して migrate, seed してるだけです。 使い方 rake db:purge ほら!綺麗な最…

Capistrano でデプロイした後にLingrに通知する gem をつくりました。

前のエントリですがCapistrano でデプロイした後にLingrに通知するを gem化しました。 Github: hrysd/capistrano-lingr はじめてのgem作成で、かなり苦戦しました。 Capistrano のプラグインとして作ったので、 Capistranoで設定した値のとりかたでかなり悩…