class OpenAI::Files
Public Class Methods
new(access_token: nil)
click to toggle source
# File lib/ruby/openai/files.rb, line 6 def initialize(access_token: nil) @access_token = access_token || ENV["OPENAI_ACCESS_TOKEN"] end
Public Instance Methods
delete(id:, version: default_version)
click to toggle source
# File lib/ruby/openai/files.rb, line 43 def delete(id:, version: default_version) self.class.delete( "/#{version}/files/#{id}", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}" } ) end
list(version: default_version)
click to toggle source
# File lib/ruby/openai/files.rb, line 10 def list(version: default_version) self.class.get( "/#{version}/files", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}" } ) end
retrieve(id:, version: default_version)
click to toggle source
# File lib/ruby/openai/files.rb, line 33 def retrieve(id:, version: default_version) self.class.get( "/#{version}/files/#{id}", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}" } ) end
upload(version: default_version, parameters: {})
click to toggle source
# File lib/ruby/openai/files.rb, line 20 def upload(version: default_version, parameters: {}) validate(file: parameters[:file]) self.class.post( "/#{version}/files", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}" }, body: parameters.merge(file: File.open(parameters[:file])) ) end
Private Instance Methods
default_version()
click to toggle source
# File lib/ruby/openai/files.rb, line 55 def default_version "v1".freeze end
validate(file:)
click to toggle source
# File lib/ruby/openai/files.rb, line 59 def validate(file:) File.open(file).each_line.with_index do |line, index| JSON.parse(line) rescue JSON::ParserError => e raise JSON::ParserError, "#{e.message} - found on line #{index + 1} of #{file}" end end