Class BoxGrinder::S3Helper
In: lib/boxgrinder-build/helpers/s3-helper.rb
lib/boxgrinder-build/helpers/s3-helper.rb
Parent: AWSHelper

Methods

Constants

ENDPOINTS = { 'eu-west-1' => { :endpoint => 's3-eu-west-1.amazonaws.com', :location => 'EU', :kernel => { :i386 => {:aki => 'aki-4deec439'}, :x86_64 => {:aki => 'aki-4feec43b'}
ENDPOINTS = { 'eu-west-1' => { :endpoint => 's3-eu-west-1.amazonaws.com', :location => 'EU', :kernel => { :i386 => {:aki => 'aki-4deec439'}, :x86_64 => {:aki => 'aki-4feec43b'}

Public Class methods

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 60
60:     def self.endpoints
61:       ENDPOINTS
62:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 60
60:     def self.endpoints
61:       ENDPOINTS
62:     end

AWS::S3 object should be instantiated already, as config can be inserted via global AWS.config or via AWS::S3.initialize

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 26
26:     def initialize(ec2, s3, options={})
27:       raise ArgumentError, "ec2 argument must not be nil" if ec2.nil?
28:       raise ArgumentError, "s3 argument must not be nil" if s3.nil?
29:       @ec2 = ec2
30:       @s3 = s3
31:       @log = options[:log] || LogHelper.new
32:     end

AWS::S3 object should be instantiated already, as config can be inserted via global AWS.config or via AWS::S3.initialize

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 26
26:     def initialize(ec2, s3, options={})
27:       raise ArgumentError, "ec2 argument must not be nil" if ec2.nil?
28:       raise ArgumentError, "s3 argument must not be nil" if s3.nil?
29:       @ec2 = ec2
30:       @s3 = s3
31:       @log = options[:log] || LogHelper.new
32:     end

Public Instance methods

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 34
34:     def bucket(options={})
35:       defaults = {:bucket => nil, :acl => :private, :location_constraint => 'us-east-1', :create_if_missing => false}
36:       options = parse_opts(options, defaults)
37: 
38:       s3b = @s3.buckets[options[:bucket]]
39:       return s3b if s3b.exists?
40:       return @s3.buckets.create(options[:bucket],
41:                          :acl => options[:acl],
42:                          :location_constraint => options[:location_constraint]) if options[:create_if_missing]
43:       nil
44:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 34
34:     def bucket(options={})
35:       defaults = {:bucket => nil, :acl => :private, :location_constraint => 'us-east-1', :create_if_missing => false}
36:       options = parse_opts(options, defaults)
37: 
38:       s3b = @s3.buckets[options[:bucket]]
39:       return s3b if s3b.exists?
40:       return @s3.buckets.create(options[:bucket],
41:                          :acl => options[:acl],
42:                          :location_constraint => options[:location_constraint]) if options[:create_if_missing]
43:       nil
44:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 46
46:     def delete_folder(bucket, path)
47:       bucket.objects.with_prefix(deslash(path)).map(&:delete)
48:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 46
46:     def delete_folder(bucket, path)
47:       bucket.objects.with_prefix(deslash(path)).map(&:delete)
48:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 54
54:     def parse_path(path)
55:       return '' if path == '/'
56:       #Remove preceding and trailing slashes
57:       deslash(path) << '/'
58:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 54
54:     def parse_path(path)
55:       return '' if path == '/'
56:       #Remove preceding and trailing slashes
57:       deslash(path) << '/'
58:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 50
50:     def stub_s3obj(bucket, path)
51:       bucket.objects[path]
52:     end

[Source]

    # File lib/boxgrinder-build/helpers/s3-helper.rb, line 50
50:     def stub_s3obj(bucket, path)
51:       bucket.objects[path]
52:     end

[Validate]