class Base64Image attr_reader :data_uri def initialize(data_uri) @data_uri = data_uri end # Creates an instance from a given file path which is converted to a base64 data uri def self.from_image(path, mime_type = "image/png") data = Base64.encode64(File.open(path, "rb").read) data_uri = "data:#{mime_type};base64,#{data}" new(data_uri) end private def encoded_image @data_uri.split(",")[1] end end