class HasPlaceholderImage::ImageGenerateJob

Public Instance Methods

perform(source_class:, id:, options:) click to toggle source
# File lib/has_placeholder_image/image_generate_job.rb, line 7
def perform(source_class:, id:, options:)
  model  = source_class.constantize
  record = model.find(id)

  source_attr = record.send(options[:source])
  target_attr = record.send(options[:target])

  text  = TextGenerator.send(options[:transformer], source_attr)
  image = ImageGenerator.new(text, **options)

  target_attr.attach(io: File.open(image.file), filename: File.basename(image.file))
end