Class: SrcsetImages::VipsCreateImageVersion
- Inherits:
-
Object
- Object
- SrcsetImages::VipsCreateImageVersion
- Defined in:
- lib/middleman-srcset_images/vips_create_image_version.rb
Class Method Summary collapse
-
.call(*_) ⇒ Object
VipsCreateImageVersion.(source, destination, width: 800, height: 600, …).
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(img, destination_path, options = {}) ⇒ VipsCreateImageVersion
constructor
A new instance of VipsCreateImageVersion.
Constructor Details
#initialize(img, destination_path, options = {}) ⇒ VipsCreateImageVersion
Returns a new instance of VipsCreateImageVersion.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/middleman-srcset_images/vips_create_image_version.rb', line 12 def initialize(img, destination_path, = {}) @source = if img.is_a?(String) || img.is_a?(Pathname) ImageProcessing::Vips.source(img) else img end @destination = destination_path @width = [:width] @height = [:height] @crop = !![:crop] @quality = .fetch :quality, 90 end |
Class Method Details
.call(*_) ⇒ Object
VipsCreateImageVersion.(source, destination, width: 800, height: 600, …)
8 9 10 |
# File 'lib/middleman-srcset_images/vips_create_image_version.rb', line 8 def self.call(*_) new(*_).call end |
Instance Method Details
#call ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/middleman-srcset_images/vips_create_image_version.rb', line 29 def call img = if @crop @source.resize_to_fill @width, @height, crop: :attention else @source.resize_to_limit @width, @height end processed = img .saver(strip: true, quality: @quality, interlace: true) .call FileUtils.mkdir_p File.dirname(@destination) FileUtils.mv processed, @destination true end |