Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Interface gem for the Imgur API
branch: master

This branch is 4 commits ahead, 2 commits behind jdp:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc Added documentation
lib
spec Switched from HTTParty to Curb, HTTParty was messing up on file uploads
.document Initial commit to imgur.
.gitignore
LICENSE
README.rdoc
Rakefile
VERSION

README.rdoc

imgur

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.

Requirements

Examples

# 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

Note on Patches/Pull Requests

  • 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

Copyright © 2009 jdp. See LICENSE for details.

Something went wrong with that request. Please try again.