Class: JekyllGetAPI::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll-get-api/resource.rb

Class Method Summary collapse

Class Method Details

.fetch(resource) ⇒ Object



22
23
24
25
26
27
# File 'lib/jekyll-get-api/resource.rb', line 22

def self.fetch(resource)
  uri = URI(resource['url'])
  URI.open(uri) { |f| f.read }
rescue OpenURI::HTTPError => e
  warn "Error: #{e.message}".red
end

.generate(site, resource) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/jekyll-get-api/resource.rb', line 5

def self.generate(site, resource)
  json_string = JekyllGetAPI::Cache.get(resource)

  unless json_string
    json_string = fetch(resource)
    JekyllGetAPI::Cache.write(resource, json_string)
  end

  json = JSON.parse(json_string)

  if resource['type'] == 'collection'
    JekyllGetAPI::Collection.generate(site, resource, json)
  else
    JekyllGetAPI::Data.generate(site, resource, json)
  end
end