Module: PleaseGPT::Api

Defined in:
lib/pleasegpt.rb

Overview

Main module for Dirs and loading/Saving API key

Class Method Summary collapse

Class Method Details

.env_variable(key) ⇒ Object



49
50
51
52
53
# File 'lib/pleasegpt.rb', line 49

def self.env_variable(key)
  File.open(join_lib_dir_with_file, 'w') do |f|
    f.puts "OPENAI_API_KEY=#{key}"
  end
end

.gem_dirObject



37
38
39
# File 'lib/pleasegpt.rb', line 37

def self.gem_dir
  File.expand_path('..', __dir__)
end

.generate_command(input) ⇒ Object



59
60
61
# File 'lib/pleasegpt.rb', line 59

def self.generate_command(input)
  OpenaiClient.openai_response(input, 100, 0.5, 1, '\n')
end

.generate_text(input) ⇒ Object



55
56
57
# File 'lib/pleasegpt.rb', line 55

def self.generate_text(input)
  OpenaiClient.openai_response(input, 300, 0.5, 1, '.')
end

.join_lib_dir_with_fileObject



41
42
43
# File 'lib/pleasegpt.rb', line 41

def self.join_lib_dir_with_file
  File.join(gem_dir, 'lib', '.openai')
end

.load_api_keyObject



26
27
28
29
30
31
32
33
34
35
# File 'lib/pleasegpt.rb', line 26

def self.load_api_key
  key = ask('Please paste your OpenAI API key:  ')
  if key.nil? || key.empty?
    puts 'API Key cannot be empty. Please try again.'
  else
    save_api_key(key)
    puts 'API key saved to file'
    env_variable(key)
  end
end

.save_api_key(key) ⇒ Object



45
46
47
# File 'lib/pleasegpt.rb', line 45

def self.save_api_key(key)
  File.write(join_lib_dir_with_file, "OPENAI_API_KEY=#{key}")
end