Module: RecipeScrapers::Parsers::Ratings
- Defined in:
- lib/recipe_scrapers/parsers/ratings.rb
Constant Summary collapse
- DECIMAL =
/\d+(?:[.,]\d+)?/- DIGIT_GROUPING =
/[,. ]/
Class Method Summary collapse
Class Method Details
.average(node) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/recipe_scrapers/parsers/ratings.rb', line 10 def average(node) return nil if node.nil? value = node["ratingValue"].to_s[DECIMAL]&.tr(",", ".")&.to_f value&.positive? ? value : nil end |
.count(node) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/recipe_scrapers/parsers/ratings.rb', line 17 def count(node) return nil if node.nil? total = (node["ratingCount"] || node["reviewCount"]).to_s.gsub(DIGIT_GROUPING, "")[/\A\d+/]&.to_i total&.positive? ? total : nil end |