class TurksatkabloCli::OnlineOperations::Auth

Constants

FILE_NAME
KEY

Attributes

login_data[RW]
login_type[R]
path[R]

Public Class Methods

new() click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 18
def initialize
  @path = File.join(File.expand_path('~'), FILE_NAME)
  @login_data = get
end

Public Instance Methods

get() click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 33
 def get
  return read_file if File.exists?(@path)
  begin
    if agent.get_login
      save_login_info

    end
  rescue Exception => e
    puts "Bir sorun oluştu."
  end
end
read_file() click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 45
def read_file
  YAML.load(decryption(File.read(@path)))
end
save_login_info() click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 23
def save_login_info
  login_info = { :radio_btn_value => agent.radio_btn_value, :username => agent.username,
   :password => agent.password }

   save_file(login_info) if @path
   puts "Bilgileriniz bilgisayarınızda şifrelenerek saklandı." if File.exists?(@path)

   login_info
 end

Private Instance Methods

decryption(data) click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 61
def decryption(data)
  decipher = OpenSSL::Cipher::AES256.new :CBC
  decipher.decrypt
  decipher.key = KEY
  decipher.update(data) + decipher.final
end
encryption(data) click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 54
def encryption(data)
  cipher = OpenSSL::Cipher::AES256.new :CBC
  cipher.encrypt
  cipher.key = KEY
  cipher.update(data) + cipher.final
end
save_file(hash) click to toggle source
# File lib/turksatkablo_cli/online_operations/auth.rb, line 50
def save_file(hash)
  File.open(@path, 'w') { |file| file.write encryption(YAML.dump(hash))  }
end