在Rails 3.0.10与红宝石1.9.2似乎你必须使用一个initilizer。
配置/ initilizers/anemone.rb
Anemone::Page.module_eval do
def to_hash
{'url' => @url.to_s,
'links' => links.map(&:to_s),
'code' => @code,
'visited' => @visited,
'depth' => @depth,
'referer' => @referer.to_s,
'redirect_to' => @redirect_to.to_s,
'response_time' => @response_time,
'fetched' => @fetched}
end
def self.from_hash(hash)
page = self.new(URI(hash['url']))
{'@links' => hash['links'].map { |link| URI(link) },
'@visited' => hash['visited'],
'@code' => hash['code'].to_i,
'@depth' => hash['depth'].to_i,
'@referer' => hash['referer'],
'@redirect_to' => URI(hash['redirect_to']),
'@response_time' => hash['response_time'].to_i,
'@fetched' => hash['fetched']
}.each do |var, value|
page.instance_variable_set(var, value)
end
page
end
end
的 “我如何使用它?”关于[rubyforge主项目页面](http://anemone.rubyforge.org/index.html)的部分似乎正朝着正确的方向迎合您的需求。 – jball 2011-04-20 17:48:09