module Middleman::S3Metadata

Constants

VERSION

Public Class Methods

bucket() click to toggle source
# File lib/middleman/s3_metadata/extension.rb, line 85
def bucket
  @bucket ||= connection.directories.get(options.bucket)
end
connection() click to toggle source
# File lib/middleman/s3_metadata/extension.rb, line 78
def connection
  @connection ||= Fog::Storage.new(provider: 'AWS',
                                   aws_access_key_id: options.aws_access_key_id,
                                   aws_secret_access_key: options.aws_secret_access_key,
                                   region: options.region)
end
generate() click to toggle source
# File lib/middleman/s3_metadata/extension.rb, line 64
def generate
  options.mappings.each do |mapping|
    if mapping.value.nil?
      puts "Unset metadata for '/#{mapping.object}' with '#{mapping.key}'"
    else
      puts "Set metadata for '/#{mapping.object}' with '#{mapping.key}' => '#{mapping.value}'"
    end
    file = s3_files.find { |i| i.key == mapping.object }
    file.reload
    file.metadata = { mapping.key => mapping.value }
    file.save
  end
end
included(app, options_hash = {}, &block)
Alias for: registered
options() click to toggle source
# File lib/middleman/s3_metadata/extension.rb, line 42
def options
  @@options
end
registered(app, options_hash = {}) { |options| ... } click to toggle source
# File lib/middleman/s3_metadata/extension.rb, line 46
def registered(app, options_hash = {}, &block)
  options = Options.new(options.hash)
  yield options if block_given?

  @@options = options

  app.send :include, Helpers

  options.public_path ||= 'build'

  app.after_configuration do |config|
    after_build do |builder|
      ::Middleman::S3Metadata.generate if options.after_build
    end
  end
end
Also aliased as: included
s3_files() click to toggle source
# File lib/middleman/s3_metadata/extension.rb, line 89
def s3_files
  @s3_files ||= bucket.files
end