class Nanoc::Deploying::Deployers::Fog::FogWrapper

Public Class Methods

new(directory, is_dry_run) click to toggle source
# File lib/nanoc/deploying/deployers/fog.rb, line 31
def initialize(directory, is_dry_run)
  @directory = directory
  @is_dry_run = is_dry_run
end

Public Instance Methods

dry_run?() click to toggle source
# File lib/nanoc/deploying/deployers/fog.rb, line 72
def dry_run?
  @is_dry_run
end
invalidate(keys, cdn, distribution) click to toggle source
# File lib/nanoc/deploying/deployers/fog.rb, line 60
def invalidate(keys, cdn, distribution)
  keys.each_slice(1000) do |keys_slice|
    keys_slice.each do |key|
      log_effectful("invalidating #{key}")
    end

    unless dry_run?
      cdn.post_invalidation(distribution, keys_slice)
    end
  end
end
log_effectful(str) click to toggle source
# File lib/nanoc/deploying/deployers/fog.rb, line 76
def log_effectful(str)
  if @is_dry_run
    puts "[dry run] #{str}"
  else
    puts str
  end
end
remove(keys) click to toggle source
# File lib/nanoc/deploying/deployers/fog.rb, line 50
def remove(keys)
  keys.each do |key|
    log_effectful("removing #{key}")

    unless dry_run?
      @directory.files.get(key).destroy
    end
  end
end
upload(source_filename, destination_key) click to toggle source
# File lib/nanoc/deploying/deployers/fog.rb, line 36
def upload(source_filename, destination_key)
  log_effectful("uploading #{source_filename} -> #{destination_key}")

  unless dry_run?
    File.open(source_filename) do |io|
      @directory.files.create(
        key: destination_key,
        body: io,
        public: true,
      )
    end
  end
end