2011-08-25 4 views
1

이것은 MRI에서 시도 할 때 작동합니다. 하지만이 Macruby에서 일어나는 것입니다 : 그것은 @policy에서 :을 좋아하지 않는처럼macruby에서 AWS :: S3을 사용하는 것에 대한 해결 방법이 있습니까?

$ macirb -f 
irb(main):003:0> require 'aws/s3' 
=> true 
irb(main):006:0> AWS::S3::Base.establish_connection!(
irb(main):007:0> :access_key_id  => ACCESS_KEY, 
irb(main):008:0> :secret_access_key => SECRET_ACCESS_KEY 
irb(main):009:0>) 
=> #<AWS::S3::Connection:0x40043ed60 @options={:server=>"s3.amazonaws.com", :port=>80, :access_key_id=>"XXXX", :secret_access_key=>"XXXX"} @access_key_id="XXXX" @secret_access_key="XXXX" @http=#<Net::HTTP s3.amazonaws.com:80 open=false>> 
irb(main):010:0> AWS::S3::Service.buckets 
NameError: `@policy:' is not allowed as an instance variable name 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:142:in `expirable_memoize:' 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:176:in `policy:' 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/response.rb:84:in `empty?' 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/service.rb:22:in `unmemoized_buckets_1314299902' 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:177:in `block' 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:146:in `expirable_memoize:' 
    /Users/jeremysmith/.rvm/gems/macruby-0.10/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:176:in `buckets' 

답변

1

것 같습니다. @policy:의 모든 항목을 @policy으로 바꾸고 문제가 해결되는지 확인하려면 AWS 보석을 해킹 할 수 있습니다.

관련 문제