:default の取り扱いに関して試行錯誤

class Page < CouchResource::Base
 string :title, :default => "WebJourney"
 string :author, :default => Proc.new { |args| ctx.current_user }
end

こんな感じで、使う側。new するときは気にならない。

page1 = Page.new(:title => "hogehoge")
page1.title
# => "hogehoge"

page2 = Page.new()
page2.title
# => "WebJourney"

save, findするときの :default の振る舞い。

page3 = Page.new()
page3.id = "hogehoge"
page3.save
page4 = Page.find("hogehoge")
page4.title
# => "WebJourney"
page5 = Page.new()
page5.id = "hogehoge"
page5.title = nil
page5.save
page6 = Page.find("hogehoge")
page6.title
# => nil