Class: Epilicious::CookBook

Inherits:
Object
  • Object
show all
Defined in:
lib/epilicious/cookbook.rb

Class Method Summary collapse

Class Method Details

.dayObject



39
40
41
# File 'lib/epilicious/cookbook.rb', line 39

def self.day
  24 * 60 * 60
end

.fetcher(url) ⇒ Object



35
36
37
# File 'lib/epilicious/cookbook.rb', line 35

def self.fetcher(url)
  Fetcher.new.fetch_recipes(url)
end

.recipes(url) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/epilicious/cookbook.rb', line 15

def self.recipes(url)
  unless recipe_vault = redis.get(url)
    fetched_recipes = fetcher(url)
    self.recipes = {url => fetched_recipes }
    return fetched_recipes
  end

  JSON.parse(recipe_vault).map do |recipe|
    Utilities.symbolize_keys(recipe)
    Recipe.new(recipe)
  end
end

.recipes=(cookbook) ⇒ Object



28
29
30
31
32
33
# File 'lib/epilicious/cookbook.rb', line 28

def self.recipes=(cookbook)
  url = cookbook.keys.first
  cookbook = cookbook[url].to_json
  redis.set(url, cookbook)
  redis.expire(url, day)
end

.redisObject



9
10
11
12
13
# File 'lib/epilicious/cookbook.rb', line 9

def self.redis
  Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
rescue
  Redis.new
end

.uriObject



43
44
45
# File 'lib/epilicious/cookbook.rb', line 43

def self.uri
  URI.parse(ENV["REDISCLOUD_URL"])
end