Class: Feast::API

Inherits:
Object
  • Object
show all
Defined in:
lib/feast/api.rb

Overview

API class represents a set of APIs This class is also a rack app but this might change in the future

Instance Method Summary collapse

Constructor Details

#initializeAPI

‘@results` variable stores results for all paths



10
11
12
# File 'lib/feast/api.rb', line 10

def initialize
  @results = {}
end

Instance Method Details

#call(env) ⇒ Object

rubocop:disable Style/StringHashKeys rack app convention

Parameters:

  • env (Rack::ENV)


26
27
28
29
30
# File 'lib/feast/api.rb', line 26

def call(env)
  path_info = env['PATH_INFO']
  result = @results[path_info] || ''
  [200, { 'ContentType' => 'application/json' }, [result]]
end

#get(route) ⇒ Object

Accepts GET request

Parameters:

  • route (String)


17
18
19
20
# File 'lib/feast/api.rb', line 17

def get(route)
  @results[route] = yield
  self
end