Module: FoodFishParser::Flat::AreaName

Defined in:
lib/food_fish_parser/flat/area_name.rb

Constant Summary collapse

REGEX_AREA_NAMES =
/
  \b
  (?:
    Cornwall |
    Noorwegen |
    India |
    Ierland |
    Vi[eë]tnam |
    Indonesi[eë] |
    Griekenland |
    Ecuador |
    Limfjord |
    Denemarken |
    Chili |
    Faroër\s+(?:eilanden|islands) |
    Groenland |
    Californi[eë] |
    Malediven |
    Spitsbergen |
    Bereneiland |
    Maleisi[eë] |
    Ijsland |
    (?:
      atlantische | atlantic | pacifische | pacific | stille | noorse |
      middelandse | indische
    ) \s+ (?: oceaan | ocean | zee(?:en|ën)? ) |
    Noordzee |
    Barentszzee
  )
  \b
/ix
REGEX_AREA =
/
  \b
  (
    (?: (?:zee(?:en|ën)?\s+)? (?: rond | bij | aan | voor ) \s+ )?
    (?: de\s+ (?: kust | fjorden ) \s+van\s+ )?
    (?: (?:\(sub\))?tropische\s+wateren\s+in\s+ )?
    (?: (?: de | het ) \s+ )?
    (?: (?: \s* (?:noord|zuid|oost|west|n|z|o|w)-? )+(?:elijke?)? (?: \s+(?: deel | gedeelte ) (?:\s+van)? )? \s+ )?
    (?: (?: de | het ) \s+ )?
    #{REGEX_AREA_NAMES}
  )
  \b
/ix
REGEX =
/
  \b#{REGEX_AREA} (?: (?: \s+(?:en|of|en\/of)\s+ | \s*,\s* ) #{REGEX_AREA} )* \b
/ix

Class Method Summary collapse

Class Method Details

.find_all(text) ⇒ Object



55
56
57
58
59
60
61
# File 'lib/food_fish_parser/flat/area_name.rb', line 55

def self.find_all(text)
  text
    .scan(REGEX)
    .flatten
    .compact
    .map {|s| { text: s.strip, fao_codes: [] } }
end