Class: Kanade::Converter::Symbol

Inherits:
Base
  • Object
show all
Defined in:
lib/kanade/converter/symbol.rb

Instance Method Summary collapse

Methods inherited from Base

configurable

Instance Method Details

#deserialize(term, field_info) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/kanade/converter/symbol.rb', line 14

def deserialize(term, field_info)
  # TODO WARNING: This is not thread safe!
  # Consider moving this into field definition instead
  build_field_info(field_info) if field_info.options[:mapping_inverted].nil?

  return nil if term.nil?
  inv = field_info.options[:mapping_inverted][term]
  return inv unless inv.nil?

  # TODO use contract!
  term.to_s.downcase.to_sym
end

#serialize(term, field_info) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/kanade/converter/symbol.rb', line 6

def serialize(term, field_info)
  return nil if term.nil?
  map = field_info.options[:mapping]
  map_entry = map[term] unless map.nil?
  return map_entry unless map_entry.nil?
  term.to_s.upcase
end