Module: SeisRuby::Data::Sac::Head::EnumeratedValueConverter

Defined in:
lib/seis_ruby/data/sac/head.rb

Constant Summary collapse

UNDEFINED =
-12345

Class Method Summary collapse

Class Method Details

.from_head(n) ⇒ Object

Raises:

  • (ArgumentError)


97
98
99
100
101
102
# File 'lib/seis_ruby/data/sac/head.rb', line 97

def self.from_head(n)
  n_i = n.to_f.round
  return nil if n_i == UNDEFINED
  raise ArgumentError, "Enumerated value out of range: #{n.inspect}.to_f.round" unless ENUMERATED_VALUES.has_key?(n_i)
  ENUMERATED_VALUES.fetch(n_i)
end

.to_head(sym) ⇒ Object

Raises:

  • (ArgumentError)


104
105
106
107
108
109
# File 'lib/seis_ruby/data/sac/head.rb', line 104

def self.to_head(sym)
  return UNDEFINED if sym.nil?
  sym_sym = sym.to_sym
  raise ArgumentError, "Unknown enumerated value: #{sym.inspect}.to_sym" unless ENUMERATED_VALUES.has_value?(sym_sym)
  ENUMERATED_VALUES.key(sym_sym)
end