Class: OmniAI::Transcribe::Transcription

Inherits:
Object
  • Object
show all
Defined in:
lib/omniai/transcribe/transcription.rb

Overview

A transcription returned by the API.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text:, model:, format:, duration: nil, segments: nil, language: nil) ⇒ Transcription

Returns a new instance of Transcription.

Parameters:

  • text (String)
  • model (String)
  • format (String)
  • duration (Float, nil) (defaults to: nil)
  • segments (Array, nil) (defaults to: nil)
  • language (String, nil) (defaults to: nil)


53
54
55
56
57
58
59
60
# File 'lib/omniai/transcribe/transcription.rb', line 53

def initialize(text:, model:, format:, duration: nil, segments: nil, language: nil)
  @text = text
  @model = model
  @format = format
  @duration = duration
  @segments = segments
  @language = language
end

Instance Attribute Details

#durationFloat?

Returns:

  • (Float, nil)


21
22
23
# File 'lib/omniai/transcribe/transcription.rb', line 21

def duration
  @duration
end

#formatString

Returns:

  • (String)


17
18
19
# File 'lib/omniai/transcribe/transcription.rb', line 17

def format
  @format
end

#languageString?

Returns:

  • (String, nil)


29
30
31
# File 'lib/omniai/transcribe/transcription.rb', line 29

def language
  @language
end

#modelString

Returns:

  • (String)


13
14
15
# File 'lib/omniai/transcribe/transcription.rb', line 13

def model
  @model
end

#segmentsArray<Hash>?

Returns:

  • (Array<Hash>, nil)


25
26
27
# File 'lib/omniai/transcribe/transcription.rb', line 25

def segments
  @segments
end

#textString

Returns:

  • (String)


9
10
11
# File 'lib/omniai/transcribe/transcription.rb', line 9

def text
  @text
end

Class Method Details

.parse(data:, model:, format:) ⇒ OmniAI::Transcribe::Transcription

Parameters:

  • data (Hash, String)
  • model (String)
  • format (String)

Returns:



36
37
38
39
40
41
42
43
44
45
# File 'lib/omniai/transcribe/transcription.rb', line 36

def self.parse(data:, model:, format:)
  data = { "text" => data } if data.is_a?(String)

  text = data["text"]
  duration = data["duration"]
  segments = data["segments"]
  language = data["language"]

  new(text:, model:, format:, duration:, segments:, language:)
end

Instance Method Details

#inspectString

Returns:

  • (String)


63
64
65
66
67
68
69
70
71
72
# File 'lib/omniai/transcribe/transcription.rb', line 63

def inspect
  attrs = [
    ("text=#{@text.inspect}" if @text),
    ("model=#{@model.inspect}" if @model),
    ("format=#{@format.inspect}" if @format),
    ("duration=#{@duration.inspect}" if @duration),
  ].compact.join(" ")

  "#<#{self.class} #{attrs}>"
end