Class: Wraith::Thumbnails

Inherits:
Object
  • Object
show all
Defined in:
lib/wraith/thumbnails.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Thumbnails

Returns a new instance of Thumbnails.



9
10
11
# File 'lib/wraith/thumbnails.rb', line 9

def initialize(config)
  @wraith = Wraith::Wraith.new(config)
end

Instance Attribute Details

#wraithObject (readonly)

Returns the value of attribute wraith.



7
8
9
# File 'lib/wraith/thumbnails.rb', line 7

def wraith
  @wraith
end

Instance Method Details

#generate_thumbnailsObject



13
14
15
16
17
18
19
20
# File 'lib/wraith/thumbnails.rb', line 13

def generate_thumbnails
  files = Dir.glob("#{wraith.directory}/*/*.png")

  Parallel.each(files, :in_processes => Parallel.processor_count) do |filename|
    new_name = filename.gsub(/^#{wraith.directory}/, "#{wraith.directory}/thumbnails")
    thumbnail_image(filename, new_name)
  end
end

#thumbnail_image(png_path, output_path) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/wraith/thumbnails.rb', line 22

def thumbnail_image(png_path, output_path)
  unless File.directory?(File.dirname(output_path))
    FileUtils.mkdir_p(File.dirname(output_path))
  end

  `convert #{png_path.shellescape} -thumbnail 200 -crop #{wraith.thumb_width.to_s}x#{wraith.thumb_height.to_s}+0+0 #{output_path.shellescape}`
end