我在 Facebook API 上关注这个 RailsCast。以下代码允许将块传递给facebook
方法并从rescue
.
def facebook
@facebook ||= Koala::Facebook::API.new(oauth_token)
block_given? ? yield(@facebook) : @facebook
rescue Koala::Facebook::APIError => e
logger.info e.to_s
nil # or consider a custom null object
end
def friends_count
facebook { |fb| fb.get_connection("me", "friends").size }
end
但是,我有十几个调用facebook
此处定义的方法的方法,我不想facebook {}
在每个方法中重复。(语法不是特别好)。
有没有办法简化这个?类似于过滤器的东西,它将环绕每个调用facebook
.