IMGKit - niepoprawny screenshot

Hej,

Mam pewien problem z IMGKit’em. Niedawno zacząłem moją przygodę z Rails’ami i nie wiem czy problem wynika z mojej niewiedzy czy wina leży gdzieś indziej.

Powinno to działać tak, że podczas tworzenia objektu tworzony jest screenshot podanej strony, a następnie wrzucany na serwer. Poniżej jest część controllera, niestety w ten sposób coś nie do końca działa. Minitaruka jest tworzona i wrzucana na serwer, sęk tylko w tym, że wygląda tak: http://i59.tinypic.com/mrycuf.jpg
Jeżeli robię to wszystko manualnie, z poziomu konsoli wszystko wraca do normy i screen wygląda tak(http://i59.tinypic.com/bi0w1g.jpg). Problem znika też jeżeli najpierw zapisze obiekt a dopiero później wykonam metode create_website_thumbnail. Rzecz w tym, że chciałbym się najpierw upewnić, że Paperclip zwaliduje istnienie tej miniaturki, a dopiero potem zapisze obiekt. Jeżeli gdzieś robię błąd dajcie mi znać i poprawcie, może jest na to jakieś inne rozwiązanie.

Pozdrawiam,
Paweł

 def create
    
                @startup = Startup.new(startup_params)
        
                create_website_thumbnail(@startup)
        
                    if @startup.save
                        flash[:success] = 'Please wait until administrator accept your request.'
                        redirect_to @startup
                    else
                        @startup.destroy
                        flash.now[:error] = @startup.errors.full_messages
                        render action: :new
                    end
            end
    private
    
        def set_startup
            @startup = Startup.all.find(params[:id])
        end
    
        def startup_params
            params.require(:startup).permit(:name, :description, :short_description, :website_url)
        end
    
        def create_website_thumbnail(startup)
            kit = IMGKit.new(startup.website_url.to_s)
            img = kit.to_img(:jpg)
            file = Tempfile.new(["thumbnail_#{startup.name}", 'jpg'], 'tmp', :encoding => 'ascii-8bit')
            file.write(img)
            file.flush
            startup.website_thumbnail = file
            file.unlink
    
            rescue
                false
        end
    
    end

Przypadkiem nie brakuje "http://’ w

kit = IMGKit.new(startup.website_url.to_s)

#  jest obecnie
kit = IMGKit.new("google.pl")
#  powinno być
kit = IMGKit.new("http://google.pl")

Dzięki, problem rozwiązany. Napisałem co prawda skrypt, który automatycznie dodaje protokół HTTP jeżeli takowy nie został podany, ale wrzuciłem go w before_validation i dlatego nie śmigało. Nauczka na przyszłość, trzeba pisać więcej testów.