Module: Ace::Demo::Atoms::PlaybackSpeedParser
- Defined in:
- lib/ace/demo/atoms/playback_speed_parser.rb
Constant Summary collapse
- SPEED_FACTORS =
{ "1x" => 1.0, "2x" => 2.0, "4x" => 4.0, "8x" => 8.0 }.freeze
Class Method Summary collapse
Class Method Details
.parse(value) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ace/demo/atoms/playback_speed_parser.rb', line 16 def parse(value) return nil if value.nil? normalized = value.to_s.strip.downcase return nil if normalized.empty? factor = SPEED_FACTORS[normalized] raise ArgumentError, "Invalid playback speed: #{value}. Use one of: #{SPEED_FACTORS.keys.join(", ")}." unless factor {label: normalized, factor: factor} end |