Class: Openfoodfacts::Additive
- Inherits:
-
Hashie::Mash
- Object
- Hashie::Mash
- Openfoodfacts::Additive
- Defined in:
- lib/openfoodfacts/additive.rb
Constant Summary collapse
- LOCALE_PATHS =
TODO: Add more locales
{ 'fr' => 'additifs', 'uk' => 'additives', 'us' => 'additives', 'world' => 'additives' }
Class Method Summary collapse
Instance Method Summary collapse
-
#products(page: -1)) ⇒ Object
Get products with additive.
Class Method Details
.all(locale: DEFAULT_LOCALE, domain: DEFAULT_DOMAIN) ⇒ Object
Get additives
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/openfoodfacts/additive.rb', line 18 def all(locale: DEFAULT_LOCALE, domain: DEFAULT_DOMAIN) if path = LOCALE_PATHS[locale] page_url = "https://#{locale}.#{domain}/#{path}" Product.(self, page_url) do |tag| columns = tag.css('td') link = tag.css('a').first attributes = { "name" => link.text.strip, "url" => URI.join(page_url, link.attr('href')).to_s, "products_count" => columns[1].text.to_i } riskiness = columns.last.attr('class') if riskiness attributes["riskiness"] = riskiness[/level_(\d+)/, 1].to_i end new(attributes) end end end |
Instance Method Details
#products(page: -1)) ⇒ Object
Get products with additive
46 47 48 |
# File 'lib/openfoodfacts/additive.rb', line 46 def products(page: -1) Product.from_website_page(url, page: page, products_count: products_count) if url end |