From c3bb7810709a99a9886c7f96aed6fa62690a12cb Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 18 Jul 2015 08:25:59 +0000 Subject: parse_freq: trivial new module for parsing frequencies Seems a bit stupid, but oh well. --- lib/dtas/parse_freq.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lib/dtas/parse_freq.rb (limited to 'lib') diff --git a/lib/dtas/parse_freq.rb b/lib/dtas/parse_freq.rb new file mode 100644 index 0000000..2fd418e --- /dev/null +++ b/lib/dtas/parse_freq.rb @@ -0,0 +1,29 @@ +# Copyright (C) 2015 all contributors +# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt) + +require_relative '../dtas' +module DTAS::ParseFreq + + # may return a negative frequency meaning lowpass + def parse_freq(val, round = true) + case val + when String + val = val.dup + mult = val.sub!(/k\z/, '') ? 1000 : 1 + val = (val.to_f * mult) + when Numeric + val + else + raise ArgumentError, "non-numeric value given" + end + + case round + when true, :int + val.round + when :float + val.to_f + else + raise ArgumentError, "usage: parse_freq(val, (true|:round))" + end + end +end -- cgit v1.2.3-24-ge0c7