class Prestashop::Mapper::Image
Attributes
file[RW]
id[RW]
id_resource[RW]
resource[RW]
source[RW]
Public Class Methods
new(args = {})
click to toggle source
# File lib/prestashop/mapper/models/image.rb, line 12 def initialize args = {} @id = args[:id] @resource = args.fetch(:resource) @id_resource = args.fetch(:id_resource) @source = args.fetch(:source) end
Public Instance Methods
images()
click to toggle source
# File lib/prestashop/mapper/models/image.rb, line 19 def images source.kind_of?(Array) ? source : [source] end
payload()
click to toggle source
# File lib/prestashop/mapper/models/image.rb, line 47 def payload { image: Faraday::UploadIO.new(file.path, 'image') } end
upload()
click to toggle source
# File lib/prestashop/mapper/models/image.rb, line 23 def upload result = [] images.each do |image| result << uploader(image) end unless images.empty? result end
uploader(source)
click to toggle source
# File lib/prestashop/mapper/models/image.rb, line 31 def uploader source if source =~ URI::regexp source = URI::encode(source) self.file = MiniMagick::Image.open(source) file.format 'png' unless %w(jpg jpeg png gif).include?(file[:format]) result = Client.upload 'images', resource, id_resource, payload, file result[:image][:id] if result else false # Not valid url end rescue MiniMagick::Invalid false # It's not valid image rescue OpenURI::HTTPError false # Image not found end