class FbResource::AbstractResource

Attributes

path[W]
conf[RW]

Public Class Methods

new(conf) click to toggle source
# File lib/resources/abstract_resource.rb, line 16
def initialize(conf)
  @conf = conf
end
path() click to toggle source
# File lib/resources/abstract_resource.rb, line 8
def path
  @path or
  raise "Set a resource path on your resource class via self.path="
end

Public Instance Methods

all() click to toggle source
# File lib/resources/abstract_resource.rb, line 40
def all
  @all || fetch
end
fetch() click to toggle source
# File lib/resources/abstract_resource.rb, line 20
def fetch
    Http
      .get(conf.url + self.class.path, conf.http_headers)
      .no { |obj, req, res| fetch_no(obj, req, res) }
      .ok { |obj, req, res| fetch_ok(obj, req, res) }
end
fetch_no(obj, req, res) click to toggle source
# File lib/resources/abstract_resource.rb, line 27
def fetch_no(obj, req, res)
  raise FetchError, """\n
  Error Fetching Farmbot resource:\n
  #{obj || "\n"}\n
  #{req && req.url}\n
  #{res && res.message}\n
  #{res && res.class}\n"""
end
fetch_ok(obj, request, response) click to toggle source
# File lib/resources/abstract_resource.rb, line 36
def fetch_ok(obj, request, response)
  @all = obj
end