class NetrcReader
Constants
- Error
- VERSION
Public Class Methods
new(path = nil)
click to toggle source
# File lib/netrc_reader.rb, line 4 def initialize(path = nil) @path = netrc_file(path) @data = IO.readlines(@path) end
read(path = nil)
click to toggle source
# File lib/netrc_reader.rb, line 9 def self.read(path = nil) new(path) end
Public Instance Methods
[](name)
click to toggle source
# File lib/netrc_reader.rb, line 17 def [](name) Machine.new(name, config(name)) if machine_names.include?(name) end
config(name)
click to toggle source
# File lib/netrc_reader.rb, line 33 def config(name) @data.find { |l| l.match(/machine #{name} login.*/) } end
config!(name)
click to toggle source
# File lib/netrc_reader.rb, line 37 def config!(name) config(name) || fail(NetrcReader::Error, "#{name} was not found: #{@path}") end
find!(name)
click to toggle source
# File lib/netrc_reader.rb, line 21 def find!(name) Machine.new(name, config!(name)) end
home_path()
click to toggle source
# File lib/netrc_reader.rb, line 29 def home_path Dir.respond_to?(:home) ? Dir.home : ENV['HOME'] end
machine_names()
click to toggle source
# File lib/netrc_reader.rb, line 13 def machine_names @data.map { |l| l.match(/machine (.*) login.*/)[1] } end
netrc_file(path = nil)
click to toggle source
# File lib/netrc_reader.rb, line 25 def netrc_file(path = nil) File.expand_path(path || File.join(ENV['NETRC'] || home_path, '.netrc')) end