Class: Chaussettes::Output

Inherits:
Object
  • Object
show all
Includes:
CommonOptions
Defined in:
lib/chaussettes/output.rb

Overview

Represents the output of an operation

Instance Method Summary collapse

Methods included from CommonOptions

#bits, #channels, #encoding, #endian, #rate, #reverse_bits, #reverse_nibbles, #type

Constructor Details

#initialize(dest = nil, device: nil) ⇒ Output

Returns a new instance of Output.



9
10
11
12
13
14
15
# File 'lib/chaussettes/output.rb', line 9

def initialize(dest = nil, device: nil)
  @dest = _translate_dest(dest) ||
          _translate_device(device) ||
          raise(ArgumentError, 'unsupported dest/device')

  @arguments = []
end

Instance Method Details

#_translate_dest(dest) ⇒ Object



17
18
19
# File 'lib/chaussettes/output.rb', line 17

def _translate_dest(dest)
  dest ? dest.to_s : nil
end

#_translate_device(device) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/chaussettes/output.rb', line 21

def _translate_device(device)
  if device == :pipe
    '--sox-pipe'
  elsif device == :default
    '--default-device'
  elsif device.nil? || device == :null
    '--null'
  elsif device == :stdout
    '-'
  end
end

#add_comment(text) ⇒ Object



37
38
39
40
# File 'lib/chaussettes/output.rb', line 37

def add_comment(text)
  @arguments << '--add-comment' << text
  self
end

#commandsObject



33
34
35
# File 'lib/chaussettes/output.rb', line 33

def commands
  [ *@arguments, @dest ]
end

#comment(text) ⇒ Object



42
43
44
45
# File 'lib/chaussettes/output.rb', line 42

def comment(text)
  @arguments << '--comment' << text
  self
end

#compression(factor) ⇒ Object



47
48
49
50
# File 'lib/chaussettes/output.rb', line 47

def compression(factor)
  @arguments << '--compression' << factor
  self
end