class Spoonacular::API

Public Class Methods

new(key) click to toggle source
# File lib/spoonacular/api/base.rb, line 4
def initialize(key)
        @key ||= key
end

Public Instance Methods

extract_recipe(url) click to toggle source
# File lib/spoonacular/api/extract.rb, line 11
def extract_recipe(url)
        method = "/recipes/extract"
        query = "forceExtraction=false&url=#{url}"
        uri = Spoonacular.build_endpoint(method, query)
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
find_by_ingredients(ingredients, options={}) click to toggle source
# File lib/spoonacular/api/search.rb, line 20
def find_by_ingredients(ingredients, options={})
        method = "/recipes/findByIngredients"
        query = "ingredients=#{ingredients.querify}&#{options.querify}"
        uri = Spoonacular.build_endpoint(method, query)
        response = Spoonacular.get({key: @key, uri: uri, accept_json: true})
        return response
end
find_by_nutrients(options={}) click to toggle source
# File lib/spoonacular/api/search.rb, line 28
def find_by_nutrients(options={})
        method = "/recipes/findByNutrients"
        query = "#{options.querify}"
        uri = Spoonacular.build_endpoint(method, query)
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
find_similar_recipes(id) click to toggle source
# File lib/spoonacular/api/search.rb, line 36
def find_similar_recipes(id)
        method = "/recipes/#{id}/similar"
        uri = Spoonacular.build_endpoint(method, "")
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
get_product_information(id) click to toggle source
# File lib/spoonacular/api/data.rb, line 4
def get_product_information(id)
        method = "/food/products/#{id}"
        uri = Spoonacular.build_endpoint(method, "")
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
get_recipe_information(id) click to toggle source
# File lib/spoonacular/api/data.rb, line 11
def get_recipe_information(id)
        method = "/recipes/#{id}/information"
        uri = Spoonacular.build_endpoint(method, "")
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
match_recipes_to_calories(target_calories, time_frame) click to toggle source
# File lib/spoonacular/api/compute.rb, line 4
def match_recipes_to_calories(target_calories, time_frame)
        method = "/recipes/mealplans/generate"
        query = "targetCalories=#{target_calories}&timeFrame=#{time_frame}"
        uri = Spoonacular.build_endpoint(method, query)
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
parse_ingredients(ingredient_list, servings) click to toggle source
# File lib/spoonacular/api/extract.rb, line 19
def parse_ingredients(ingredient_list, servings)
        method = "/recipes/parseIngredients"
        uri = Spoonacular.build_endpoint(method, "")[0..-2]
        params = {"ingredientList" => ingredient_list, "servings" => servings}
        response = Spoonacular.post({key: @key, uri: uri, content_form: true, params: params})
        return response
end
search_grocery_products(options={}) click to toggle source
# File lib/spoonacular/api/search.rb, line 43
def search_grocery_products(options={})
        method = "/food/products/search"
        query = "#{options.querify}"
        uri = Spoonacular.build_endpoint(method, query)
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
search_recipes(options={}) click to toggle source
# File lib/spoonacular/api/search.rb, line 51
def search_recipes(options={})
        method = "/recipes/search"
        query = "#{options.querify}"
        uri = Spoonacular.build_endpoint(method, query)
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
summarize_recipe(id) click to toggle source
# File lib/spoonacular/api/compute.rb, line 12
def summarize_recipe(id)
        method = "/recipes/#{id}/summary"
        uri = Spoonacular.build_endpoint(method, "")
        response = Spoonacular.get({key: @key, uri: uri})
        return response
end
visualize_ingredients(options={}) click to toggle source
# File lib/spoonacular/api/compute.rb, line 19
def visualize_ingredients(options={})
        method = "/recipes/visualizeIngredients"
        uri = Spoonacular.build_endpoint(method, "")[0..-2]
        params = "#{options.querify}"
        response = Spoonacular.post({key: @key, uri: uri, content_form: true, params: params})
        return response
end
visualize_nutrition(options={}) click to toggle source
# File lib/spoonacular/api/compute.rb, line 27
def visualize_nutrition(options={})
        method = "/recipes/visualizeNutrition"
        uri = Spoonacular.build_endpoint(method, "")[0..-2]
        params = "#{options.querify}"
        response = Spoonacular.post({key: @key, uri: uri, content_form: true, params: params})
        return response
end
visualize_price_breakdown(options={}) click to toggle source
# File lib/spoonacular/api/compute.rb, line 35
def visualize_price_breakdown(options={})
        method = "/recipes/visualizePriceEstimator"
        uri = Spoonacular.build_endpoint(method, "")[0..-2]
        params = "#{options.querify}"
        response = Spoonacular.post({key: @key, uri: uri, content_form: true, params: params})
        return response
end