class PageParser
Public Class Methods
new(page, options={})
click to toggle source
# File lib/allrecipes/page_parser.rb, line 3 def initialize(page, options={}) @page = page @recipes = [] @options = options @limit = options[:limit] get_recipes end
Public Instance Methods
filtered_recipes()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 27 def filtered_recipes @limit ? recipe_info.take(@limit) : recipe_info end
get_recipes()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 43 def get_recipes filtered_recipes.each do |info| recipe_link = recipe_link(info) @recipes << RecipeParser.new(recipe_link, @options[:keys]).recipe end end
recipe_info()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 19 def recipe_info if @options[:type] == "ingredient" @page.search(recipe_info_class) else recipes_grid.search(recipe_info_class) end end
recipe_info_class()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 11 def recipe_info_class ".recipe-info" end
recipe_link(info)
click to toggle source
# File lib/allrecipes/page_parser.rb, line 39 def recipe_link(info) "http://allrecipes.com" + info.search(title_class)[0].attributes["href"].value end
recipes()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 50 def recipes @recipes end
recipes_grid()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 35 def recipes_grid @page.search(recipes_grid_class)[-1] end
recipes_grid_class()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 31 def recipes_grid_class ".grid-view" end
title_class()
click to toggle source
# File lib/allrecipes/page_parser.rb, line 15 def title_class ".title" end