lib/taxamatch_rb.rb in taxamatch_rb-0.6.2 vs lib/taxamatch_rb.rb in taxamatch_rb-0.6.3

- old
+ new

@@ -23,17 +23,17 @@ #takes two scientific names and returns true if names match and false if they don't def taxamatch(str1, str2, return_boolean = true) preparsed_1 = @parser.parse(str1) preparsed_2 = @parser.parse(str2) - match = taxamatch_preparsed(preparsed_1, preparsed_2) rescue false - return_boolean && match ? match['match'] : match + match = taxamatch_preparsed(preparsed_1, preparsed_2) rescue nil + return_boolean ? (!!match && match['match']) : match end #takes two hashes of parsed scientific names, analyses them and returns back #this function is useful when species strings are preparsed. def taxamatch_preparsed(preparsed_1, preparsed_2) - result = false + result = nil result = match_uninomial(preparsed_1, preparsed_2) if preparsed_1[:uninomial] && preparsed_2[:uninomial] result = match_multinomial(preparsed_1, preparsed_2) if preparsed_1[:genus] && preparsed_2[:genus] if result && result['match'] result['match'] = match_authors(preparsed_1, preparsed_2) == 0 ? false : true end