📦iancanderson / ingreedy
← 返回首页
natural language parsing of recipe ingredients, making sense of amounts, units, and ingredients
⚖️ MIT📅 创建于 2011-06-08🔄 更新于 2022-07-11

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

Usage

result = Ingreedy.parse('1 lb. potatoes')
print result.amount
  #=> 1.0
print result.unit
  #=> :pound
print result.ingredient
  #=> "potatoes"

I18n and custom dictionaries

Ingreedy.dictionaries[:fr] = { 
  units: { dash: ['pincée'] }, 
  numbers: { 'une' => 1 }, 
  prepositions: ['de'] 
}

Ingreedy.locale = :fr # Also automatically follows I18n.locale if available

result = Ingreedy.parse('une pincée de sucre')
print result.amount
  #=> 1.0
print result.unit
  #=> :dash
print result.ingredient
  #=> "sucre"

Handling amounts

By default, Ingreedy will convert all amounts to a rational number:

result = Ingreedy.parse("1 1/2 cups flour")
print result.amount
  #=> 3/2

However, setting Ingreedy.preverse_amounts = true, will allow amounts to be detected and returned as originally input:

Ingreedy.preserve_amounts = true

result = Ingreedy.parse("1 1/2 cups flour")
print result.amount
  #=> 1 1/2

Live demo

Pieces of Flair

  • Gem Version
  • Build Status
  • Code Climate
  • Coverage Status

Development

Run the tests:

rspec spec

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR