Sha256: 949ed682fd3f0438ee0d1e5b054232813bec64cce6df729c7d049f312c0ba733
Contents?: true
Size: 1.37 KB
Versions: 2
Compression:
Stored size: 1.37 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 @parsed = nil end def parsed @parsed end def parse(a_string) @verbatim = a_string @parsed = @clean.parse(a_string) || @dirty.parse(a_string) || @canonical.parse(a_string) || {:verbatim => a_string} def @parsed.all 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, :parser_run => self.parser_run, :positions => self.pos }) else res.merge!(self) end res = {:scientificName => res} res end def @parsed.pos_json self.pos.to_json rescue '' end def @parsed.all_json self.all.to_json rescue '' end @parsed.all end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
biodiversity19-0.5.16 | lib/biodiversity/parser.rb |
biodiversity-0.5.16 | lib/biodiversity/parser.rb |