class Chaussettes::Input

Represents an input to an operation

Public Class Methods

new(source = nil, device: nil) click to toggle source
# File lib/chaussettes/input.rb, line 9
def initialize(source = nil, device: nil)
  @source = _translate_source(source) ||
            _translate_device(device) ||
            raise(ArgumentError, 'unsupported source')

  @arguments = []
end

Public Instance Methods

_translate_device(device) click to toggle source
# File lib/chaussettes/input.rb, line 25
def _translate_device(device)
  if device == :default
    '--default-device'
  elsif device == :stdin
    '-'
  elsif device.nil? || device == :null
    '--null'
  end
end
_translate_source(source) click to toggle source
# File lib/chaussettes/input.rb, line 17
def _translate_source(source)
  if source.is_a?(String)
    source
  elsif source.respond_to?(:command)
    "|#{source.command}"
  end
end
commands() click to toggle source
# File lib/chaussettes/input.rb, line 35
def commands
  [ *@arguments, @source ]
end
ignore_length() click to toggle source
# File lib/chaussettes/input.rb, line 39
def ignore_length
  @arguments << '--ignore-length'
  self
end
volume(factor) click to toggle source
# File lib/chaussettes/input.rb, line 44
def volume(factor)
  @arguments << '--volume' << factor
  self
end