Skip to content
Reads and writes netrc files.
Branch: master
Clone or download
Pull request Compare This branch is 98 commits ahead, 1 commit behind kr:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data
lib
test
.gitignore
CONTRIBUTING.md
CONTRIBUTORS.md
Gemfile
Guardfile
LICENSE.md
Readme.md
changelog.txt
netrc.gemspec

Readme.md

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)'
You can’t perform that action at this time.