如何使用礼物?在Ruby项目中?

pic*_*rdo 16 ruby ruby-on-rails-3

我写了一个脚本,它使用Rails对Ruby核心Object类的扩展,现在我想把它自己分开.而不是重写这些,是否有任何我可以使用的库或扩展来使它们独立可用?

Jon*_*röm 30

您不必运行Rails即可使用

require 'active_support/all'
Run Code Online (Sandbox Code Playgroud)

或者如果你只想要一个特定的扩展名,就像blank?字符串一样

require 'active_support/core_ext/string'
Run Code Online (Sandbox Code Playgroud)

抬起头 present?,实际上定义为

def present?
  !blank?
end
Run Code Online (Sandbox Code Playgroud)

在活动支持中定义为空白

def blank?
  respond_to?(:empty?) ? !!empty? : !self
end
Run Code Online (Sandbox Code Playgroud)

  • 正如tokland在下面所说,你可以更具体:要求"active_support/core_ext/object/blank" (3认同)

tok*_*and 8

您可以从ActiveSupport中获取特定功能.在这种情况下:

require 'active_support/core_ext/object/blank'
[].present? #=> false
Run Code Online (Sandbox Code Playgroud)