Class: S3Website::Upload

Inherits:
Object
  • Object
show all
Defined in:
lib/s3_website/upload.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, s3, config, site_dir) ⇒ Upload

Returns a new instance of Upload.



8
9
10
11
12
13
14
# File 'lib/s3_website/upload.rb', line 8

def initialize(path, s3, config, site_dir)
  @path = path
  @full_path = "#{site_dir}/#{path}"
  @file = File.open("#{site_dir}/#{path}")
  @s3 = s3
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



6
7
8
# File 'lib/s3_website/upload.rb', line 6

def config
  @config
end

#fileObject (readonly)

Returns the value of attribute file.



6
7
8
# File 'lib/s3_website/upload.rb', line 6

def file
  @file
end

#full_pathObject (readonly)

Returns the value of attribute full_path.



6
7
8
# File 'lib/s3_website/upload.rb', line 6

def full_path
  @full_path
end

#pathObject (readonly)

Returns the value of attribute path.



6
7
8
# File 'lib/s3_website/upload.rb', line 6

def path
  @path
end

#s3Object (readonly)

Returns the value of attribute s3.



6
7
8
# File 'lib/s3_website/upload.rb', line 6

def s3
  @s3
end

Instance Method Details

#detailsObject



22
23
24
# File 'lib/s3_website/upload.rb', line 22

def details
  "#{path}#{" [gzipped]" if gzip?}#{" [max-age=#{max_age}]" if cache_control?}"
end

#perform!Object



16
17
18
19
20
# File 'lib/s3_website/upload.rb', line 16

def perform!
  success = s3.buckets[config['s3_bucket']].objects[path].write(upload_file, upload_options)
  upload_file.close
  success
end