Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Reads and writes netrc files.

branch: master

Be a bit more consistent around newline handling.

We have to use String#split rather than File.readlines in the
decryption path, so we should use it in the encrypted path too.
File.readlines keeps the \n chars in the strings, so we have to
explicitly break up the tokens list after line if we use split.
latest commit 9838ecfb24
Phil Hagelberg authored
Octocat-spinner-32 data check file permissions on read
Octocat-spinner-32 lib Be a bit more consistent around newline handling.
Octocat-spinner-32 test some test cleanup around windows fixes
Octocat-spinner-32 .gitignore Add Gemfile, specify turn as a development dependency in the gemspec.
Octocat-spinner-32 Gemfile Add Gemfile, specify turn as a development dependency in the gemspec.
Octocat-spinner-32 LICENSE MIT license
Octocat-spinner-32 Readme.md Remove implicit switch to encrypted file.
Octocat-spinner-32 changelog.txt v0.7.5
Octocat-spinner-32 netrc.gemspec v0.7.1
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 ($HOME/.netrc on Unix; %HOME%\_netrc on Windows):

n = Netrc.read

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 turn test
Something went wrong with that request. Please try again.