Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A (better?) replacement for open-uri. Lets you open local and remote files by immediately returning their contents as a string.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGELOG
Octocat-spinner-32 Gemfile
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 eat.gemspec
README.rdoc

eat

Problems with the standard open-uri library

  • sometimes it returns String and sometimes StringIO (check out OpenURI::Buffer::StringMax, usually 10,240 bytes)

  • sometimes you have to call gets (for example open('yahoo.com').gets)

  • it overrides #open everywhere, which may be confusing.

Try #eat, which ALWAYS returns a String:

require 'eat'
eat('http://yahoo.com')                 #=> String
eat('/home/seamus/foo.txt')             #=> String
eat('file:///home/seamus/foo.txt')      #=> String

Options

eat('http://yahoo.com', :timeout => 10)                   # timeout after 10 seconds
eat('http://yahoo.com', :limit => 1024)                   # only read the first 1024 chars
eat('https://yahoo.com', :openssl_verify_mode => 'none')  # don't bother verifying SSL certificate

Warning: DOES verify SSL certs

If you want to disable verification of SSL certificates, use

:openssl_verify_mode => 'none'

Thanks @codahale and @peterc for their suggestions.

Supported schemas

  • local filesystem

  • http

  • https

Copyright 2011 Seamus Abshere

Something went wrong with that request. Please try again.