Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Netrc

This library reads and writes .netrc files.

API

Read a netrc file:

n = Netrc.read("sample.netrc")

If the file doesn't exist, Netrc.read will return an empty object. If the filename ends in ".gpg", it will be decrypted using GPG.

Read the user's default netrc file.

On Unix: $NETRC/.netrc or $HOME/.netrc (whichever is set first).

On Windows: %NETRC%\_netrc, %HOME%\_netrc, %HOMEDRIVE%%HOMEPATH%\_netrc, or %USERPROFILE%\_netrc (whichever is set first).

n = Netrc.read

Configure netrc to allow permissive files (with permissions other than 0600):

Netrc.configure do |config|
  config[:allow_permissive_netrc_file] = true
end

Look up a username and password:

user, pass = n["example.com"]

Write a username and password:

n["example.com"] = user, newpass
n.save

If you make an entry that wasn't there before, it will be appended to the end of the file. Sometimes people want to include a comment explaining that the entry was added automatically. You can do it like this:

n.new_item_prefix = "# This entry was added automatically\n"
n["example.com"] = user, newpass
n.save

Have fun!

Running Tests

$ bundle install
$ bundle exec ruby -e 'Dir.glob "./test/**/test_*.rb", &method(:require)'