【发布时间】:2015-09-26 21:39:12
【问题描述】:
我需要为我们的开发环境在 AWS SDK 版本 1 1.60 gem 中修改 AWS S3Object 类。我认为只需重新声明类并添加到它或覆盖一些东西,它就像任何其他猴子补丁一样简单,但它似乎不起作用。我尝试添加的任何方法都没有添加。像下面这样简单的东西是行不通的。
class S3Object
def blah
puts 'foo'
end
end
connection = AWS::S3::new
connection.buckets['bucketname'].objects['object_name'].blah
这样我得到一个错误:
NoMethodError: undefined method `blah' for <AWS::S3::S3Object:amazon.server.com/bucketname>:AWS::S3::S3Object
我也尝试通过这样做来遵循 gem 的模块和类结构
module AWS
class S3
class S3Object
def blah
puts '***** blah blah blah *****'
end
end
end
end
那也没用
从源代码的外观来看,对象集合应该包含一个 S3Object 的实例。无论出于何种原因,它都没有融入我的新方法中。我做错了什么?
【问题讨论】:
-
您缺少 AWS::S3 内部的模块 S3 对象
标签: ruby-on-rails ruby