Module: Modgen::API

Defined in:
lib/modgen/api.rb,
lib/modgen/api/request.rb,
lib/modgen/api/response.rb,
lib/modgen/api/api_request.rb,
lib/modgen/api/api_response.rb,
lib/modgen/discovery/method.rb,
lib/modgen/discovery/resource.rb

Defined Under Namespace

Classes: APIRequest, APIResponse, Method, Request, Resource, Response

Constant Summary collapse

@@api =
nil
@@api_methods =
{}

Class Method Summary collapse

Class Method Details

.apiObject



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

def self.api
  @@api || raise(Modgen::APIError, "API has not been discovered yet.")
end

.discovered?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/modgen/api.rb', line 22

def self.discovered?
  !@@api.nil?
end

.method_missing(method, *args, &block) ⇒ Object

All api methods go there



34
35
36
37
38
# File 'lib/modgen/api.rb', line 34

def self.method_missing(method, *args, &block)
  api

  @@api_methods.send(method, *args, &block)
end

.methodsObject

All available API methods on top



28
29
30
# File 'lib/modgen/api.rb', line 28

def self.methods
  @@api_methods.methods
end

.set_api(api) ⇒ Object

Set api from discovery

Parameters:

api

Hash



45
46
47
# File 'lib/modgen/api.rb', line 45

def self.set_api(api)
  @@api = OpenStruct.new(api)
end

.set_api_methods(api) ⇒ Object

Set api methods from discovery

Parameters:

api

Modgen::API::Resource



54
55
56
# File 'lib/modgen/api.rb', line 54

def self.set_api_methods(api)
  @@api_methods = api
end