Module: Modgen::Discovery
- Defined in:
- lib/modgen/discovery/discovery.rb
Class Method Summary collapse
- .config ⇒ Object
-
.discover(id = :auto) ⇒ Object
Discover selected API If id=nil, client take preffered.
-
.preffered_version ⇒ Object
Download all version and return prefferd version.
-
.version(id = :auto) ⇒ Object
Details of one specific version If id=nil, client take preffered.
-
.versions ⇒ Object
All available version on the server.
Class Method Details
.config ⇒ Object
4 5 6 |
# File 'lib/modgen/discovery/discovery.rb', line 4 def self.config Modgen.config end |
.discover(id = :auto) ⇒ Object
Discover selected API If id=nil, client take preffered
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/modgen/discovery/discovery.rb', line 49 def self.discover(id = :auto) data = version(id).body api = { name: data['name'], description: data['description'], version: data['version'], created_at: data['created_at'], updated_at: data['updated_at'], base_url: data['base_url'] } Modgen::API.set_api(api) resources = Modgen::API::Resource.new('resources', data['resources']) Modgen::API.set_api_methods(resources) nil end |
.preffered_version ⇒ Object
Download all version and return prefferd version. If there is not preffered, return nil
11 12 13 14 15 16 17 18 19 |
# File 'lib/modgen/discovery/discovery.rb', line 11 def self.preffered_version versions.body['versions'].each do |version, details| if details['preffered'] return version end end nil end |
.version(id = :auto) ⇒ Object
Details of one specific version If id=nil, client take preffered
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/modgen/discovery/discovery.rb', line 30 def self.version(id = :auto) if id == :auto id = preffered_version end params = {'path' => {'id' => id}} response = Modgen::API::Request.new(config.api.discovery_version_url, params).response if response.error? raise Modgen::APIError, response. end response end |