Sha256: ea0a6dcfb936c4b0eab21eeb5b249982c9ce890387672420d08b176ed2671a5f

Contents?: true

Size: 626 Bytes

Versions: 16

Compression:

Stored size: 626 Bytes

Contents

require 'netrc'

module LearnConfig
  class NetrcInteractor
    attr_reader :login, :password, :netrc

    def initialize
      ensure_proper_permissions!
    end

    def read(machine: 'learn-config')
      @netrc = Netrc.read
      @login, @password = netrc[machine]
    end

    def write(machine: 'learn-config', new_login:, new_password:)
      netrc[machine] = new_login, new_password
      netrc.save
    end

    def delete!(machine:)
      @netrc = Netrc.read

      netrc.delete(machine)
      netrc.save
    end

    private

    def ensure_proper_permissions!
      system('chmod 0600 ~/.netrc')
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
learn-config-1.0.74 lib/learn_config/netrc_interactor.rb
learn-config-1.0.73 lib/learn_config/netrc_interactor.rb
learn-config-1.0.72 lib/learn_config/netrc_interactor.rb
learn-config-1.0.71 lib/learn_config/netrc_interactor.rb
learn-config-1.0.7 lib/learn_config/netrc_interactor.rb
learn-config-1.0.6 lib/learn_config/netrc_interactor.rb
learn-config-1.0.5 lib/learn_config/netrc_interactor.rb
learn-config-1.0.4 lib/learn_config/netrc_interactor.rb
learn-config-1.0.3 lib/learn_config/netrc_interactor.rb
learn-config-1.0.2 lib/learn_config/netrc_interactor.rb
learn-config-1.0.1 lib/learn_config/netrc_interactor.rb
learn-config-1.0.0 lib/learn_config/netrc_interactor.rb
learn-config-0.0.32 lib/learn_config/netrc_interactor.rb
learn-config-0.0.31 lib/learn_config/netrc_interactor.rb
learn-config-0.0.3 lib/learn_config/netrc_interactor.rb
learn-config-0.0.2 lib/learn_config/netrc_interactor.rb