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