Method: RightAws::S3Interface#initialize
- Defined in:
- lib/s3/right_s3_interface.rb
#initialize(aws_access_key_id, aws_secret_access_key, params = {}) ⇒ S3Interface
Creates new RightS3 instance.
s3 = RightAws::S3Interface.new('1E3GDYEOGFJPIT7XXXXXX','hgTHt68JY07JKUY08ftHYtERkjgtfERn57XXXXXX', {:multi_thread => true, :logger => Logger.new('/tmp/x.log')}) #=> #<RightS3:0xb7b3c27c>
Params is a hash:
{:server => 's3.amazonaws.com' # Amazon service host: 's3.amazonaws.com'(default)
:port => 443 # Amazon service port: 80 or 443(default)
:protocol => 'https' # Amazon service protocol: 'http' or 'https'(default)
:multi_thread => true|false # Multi-threaded (connection per each thread): true or false(default)
:logger => Logger Object} # Logger instance: logs to STDOUT if omitted }
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/s3/right_s3_interface.rb', line 96 def initialize(aws_access_key_id, aws_secret_access_key, params={}) @params = params raise AwsError.new("AWS access keys are required to operate on S3") \ if aws_access_key_id.blank? || aws_secret_access_key.blank? # TODO TRB 6/19/07 - keys, basic params, and logger are all # candidates to break out into a helper class common to all # service gems. Stick the helper in right_awsbase @aws_access_key_id = aws_access_key_id @aws_secret_access_key = aws_secret_access_key # params @params[:server] ||= DEFAULT_HOST @params[:port] ||= DEFAULT_PORT @params[:protocol] ||= DEFAULT_PROTOCOL @params[:multi_thread] ||= defined?(AWS_DAEMON) # set logger @logger = @params[:logger] @logger = RAILS_DEFAULT_LOGGER if !@logger && defined?(RAILS_DEFAULT_LOGGER) @logger = Logger.new(STDOUT) if !@logger @logger.info "New #{self.class.name} using #{@params[:multi_thread] ? 'multi' : 'single'}-threaded mode" @error_handler = nil end |