Sha256: 2997d70c06959d64a01647869e54075a5c5d3a5d8b40adb89ab7935a9d9f0eda

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require "mini_magick"

module Jekyll
  module Favicon
    module Utils
      # Favicon convert for include
      module Convert
        def self.included(klass)
          klass.extend(ClassMethods)
        end

        def self.convert_apply(convert, options = {})
          options.each_with_object(convert) do |(option, value), memo|
            memo.send option.to_sym, value
          end
        end

        def self.convert_options(convert, options = {})
          priorities = %w[resize size]
          convert_apply convert, options.slice(*priorities)
          common_options = options.reject { |key| priorities.include? key }
          convert_apply convert, common_options
        end

        # Favicon convert utils functions
        module ClassMethods
          def convert(input, output, options = {})
            MiniMagick::Tool::Convert.new do |convert|
              convert.flatten
              Convert.convert_options(convert, options) << input << output
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jekyll-favicon-1.1.0 lib/jekyll/favicon/utils/convert.rb
jekyll-favicon-1.0.0 lib/jekyll/favicon/utils/convert.rb
jekyll-favicon-1.0.0.pre.3 lib/jekyll/favicon/utils/convert.rb