Sha256: 4345678efe93f4b34061ff1d863e8c8f0744d7b82fd9315f3d7c40ca553dbe78
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# encoding: UTF-8 dir = File.dirname(__FILE__) require File.join(dir, *%w[parser scientific_name_clean]) require File.join(dir, *%w[parser scientific_name_dirty]) require File.join(dir, *%w[parser scientific_name_canonical]) require 'rubygems' require 'json' class ScientificNameParser def initialize @verbatim = '' @clean = ScientificNameCleanParser.new @dirty = ScientificNameDirtyParser.new @canonical = ScientificNameCanonicalParser.new @parser = nil end def parse(a_string) @verbatim = a_string @parser = @clean.parse(a_string) || @dirty.parse(a_string) || @canonical.parse(a_string) def @parser.to_json parsed = !!self res = { :parsed => parsed, :verbatim => self.text_value } if parsed res.merge!({ :normalized => self.value, :canonical => self.canonical }) data = self.details if data[:species] && data[:species][:namedHybrid] data[:species].delete(:namedHybrid) data = {:namedHybrid => data} end res.merge!(data) end res = {:scientificName => res} JSON.generate res end def @parser.pos_json JSON.generate self.pos rescue '' end @parser end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dimus-biodiversity-0.5.1 | lib/biodiversity/parser.rb |