class Radiofreq::Freq
Convert given frequency to frequency descriptive unit Example: 446.000MHz would return: Ultra High Frequency (UHF)
Public Class Methods
frequencies()
click to toggle source
# File lib/radiofreq/freq.rb, line 5 def self.frequencies { -Float::INFINITY..3 => { 'Hz' => 'Tremendously Low Frequency (TLF)' }, 3..30 => { 'Hz' => 'Extremely Low Frequency (ELF)', 'kHz' => 'Very Low Frequency (VLF)', 'MHz' => 'High Frequency (HF)', 'GHz' => 'Super High Frequency (SHF)' }, 30.001..300 => { 'Hz' => 'Super Low Frequency (SLF)', 'kHz' => 'Low Frequency (LF)', 'MHz' => 'Very High Frequency (VHF)', 'GHz' => 'Extremely High Frequency (EHF)' }, 300.001..3000 => { 'Hz' => 'Ultra Low Frequency (ULF)', 'kHz' => 'Medium Frequency (MF)', 'MHz' => 'Ultra High Frequency (UHF)', 'GHz' => 'Tremendously High Frequency' } } end
get_descriptive_unit(range,unit)
click to toggle source
# File lib/radiofreq/freq.rb, line 46 def self.get_descriptive_unit(range,unit) range.each do|key,value| found_unit = value[unit] if found_unit return found_unit else return "Invalid frequency unit: #{unit}" end end end
get_frequency_range(freq)
click to toggle source
# File lib/radiofreq/freq.rb, line 38 def self.get_frequency_range(freq) filtered_frequencies = frequencies.select{|freq_range,_|freq_range === freq} if filtered_frequencies return filtered_frequencies else return "Invalid frequency provided: #{freq}" end end
portray(freq, unit)
click to toggle source
# File lib/radiofreq/freq.rb, line 30 def self.portray(freq, unit) frequency_range = get_frequency_range(freq) if frequency_range.empty? return "Invalid frequency provided: #{freq}" else return get_descriptive_unit(frequency_range,unit) end end