我的问题与如何解决超时问题(Ruby,Rails)有关.
以下是从超时中解救的常用方法:
def action
# Post using Net::HTTP
rescue Timeout::Error => e
# Do something
end
Run Code Online (Sandbox Code Playgroud)
我想确定在尝试连接到主机时是否引发了异常,或者是否在尝试从主机读取时引发了异常.这可能吗?
我有一个很大的类,有很多方法,它开始变得有点无组织,难以导航.我想将其分解为模块,其中每个模块都是类和实例方法的集合.也许是这样的:
更新:我现在意识到这是一个非常糟糕的例子.您可能不希望将验证或属性移出核心类.
class Large
include Validations
include Attributes
include BusinessLogic
include Callbacks
end
Run Code Online (Sandbox Code Playgroud)
在阅读了Yehuda关于Better Ruby Idioms的文章之后,我很好奇其他人如何解决这个问题.这是我能想到的两种方法.
module Foo
module Validations
module ClassMethods
def bar
"bar"
end
end
module InstanceMethods
def baz
"baz"
end
end
end
class Large
extend Validations::ClassMethods
include Validations::InstanceMethods
end
end
Run Code Online (Sandbox Code Playgroud)
module Foo
module Validations
def self.included(base)
base.extend ClassMethods
end
module ClassMethods
def bar
"bar"
end
end
def baz
"baz"
end
end
class Base
include Validations
end
end
Run Code Online (Sandbox Code Playgroud)