Sha256: 7b37de93c901d0825335bca76101b0f1bfc6cf4ec4e34ecda7e402fd9756bb46
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 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) || {:verbatim => a_string} def @parser.to_json parsed = self.class != Hash res = {:parsed => parsed} if parsed hybrid = self.hybrid rescue false res.merge!({ :verbatim => self.text_value, :normalized => self.value, :canonical => self.canonical, :hybrid => hybrid, :details => self.details }) else res.merge!(self) 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.3 | lib/biodiversity/parser.rb |