A simple ruby interface to the imgur image hosting service (imgur.com). This is a nice alternative to uploading images and not having to deal with RMagick bs.
-
Grab a imgur api key : imgur.com/register/api/
# Uploading an image to imgur from the filesystem img = Imgur::API.new 'YOURAPIKEY' uploaded_img = img.upload_file '/path/to/your/test.jpg' # should return a hash like: # => {"small_thumbnail"=>"http://imgur.com/NfuKFs.png", "original_image"=>"http://imgur.com/NfuKF.png", "large_thumbnail"=>"http://imgur.com/NfuKFl.png", "delete_hash"=>"VAiPkk5NoQ", "imgur_page"=>"http://imgur.com/NfuKF", "delete_page"=>"http://imgur.com/delete/VAiPkk5NoQ", "image_hash"=>"NfuKF"} # now you can do something like (if you're using rails): <%= image_tag uploaded_img["small_thumbnail"] %> # Here's an example using Sinatra and Sequel, requires sinatra-more # Everything's included into one action for brevity, although you can probably extract the file functions to a helper for organizational purposes post '/upload_photo' do # let's assume we have this is in our form # <%= file_field_tag :photo %> file_name = params[:photo][:filename].split(".").first.gsub!(/[^a-z0-9]+/i, '_') file_type = params[:photo][:filename].split(".").last tmp_file_path = File.join(APP_ROOT,"public/images/tmp/#{file_name}.#{file_type}") FileUtils.mv params[:photo][:tempfile].path, tmp_file_path unless params["photo"].blank? || params["photo"].nil? @uploaded_img = IMGUR.upload_file tmp_file_path end @photo = Photo.new(:photo => @uploaded_img) @photo.save redirect '/results' end
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright © 2009 jdp. See LICENSE for details.