class Middleman::Tinify

Public Class Methods

new(app, options_hash={}, &block) click to toggle source
Calls superclass method
# File lib/middleman-tinify.rb, line 9
def initialize(app, options_hash={}, &block)
  super
  require 'tinify'

  ::Tinify.key = options.key
  ::Tinify.proxy = options.proxy if options.proxy
end

Public Instance Methods

after_build(builder) click to toggle source
# File lib/middleman-tinify.rb, line 17
def after_build(builder)
  source_dir = File.join(app.config[:build_dir], options.path || app.config[:images_dir])
  prefix = app.config[:build_dir] + File::SEPARATOR

  files = Dir[File.join(source_dir, "**", "*.{jpg,jpeg,png}")]

  files.each do |file|
    ::Tinify.from_file(file).to_file(file)

    builder.thor.say_status :tinified, file.sub(prefix, "")
  end
end