Class: Omnijack::Endpoint
- Includes:
- Chef::Mixin::ParamsValidate, Config
- Defined in:
- lib/omnijack/endpoint.rb,
lib/omnijack/endpoint/list.rb,
lib/omnijack/endpoint/metadata.rb,
lib/omnijack/endpoint/platforms.rb
Overview
A parent class for Omnijack API endpoints
Defined Under Namespace
Classes: List, Metadata, Platforms
Constant Summary
Constants inherited from Omnijack
Instance Attribute Summary
Attributes inherited from Omnijack
Instance Method Summary collapse
-
#[](key) ⇒ String, NilClass
Make class items accessible via hash keys.
-
#base_url(arg = nil) ⇒ String
The base URL of the Omnitruck API.
-
#initialize(name, args = {}) ⇒ Endpoint
constructor
A new instance of Endpoint.
-
#method_missing(method_id, args = nil) ⇒ Object
Make class items accessible via methods.
-
#to_h ⇒ Hash
Offer a hash representation of the object.
Constructor Details
#initialize(name, args = {}) ⇒ Endpoint
Returns a new instance of Endpoint.
38 39 40 41 |
# File 'lib/omnijack/endpoint.rb', line 38 def initialize(name, args = {}) super base_url(args[:base_url]) end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_id, args = nil) ⇒ Object
Make class items accessible via methods
48 49 50 |
# File 'lib/omnijack/endpoint.rb', line 48 def method_missing(method_id, args = nil) args.nil? && to_h[method_id] || super end |
Instance Method Details
#[](key) ⇒ String, NilClass
Make class items accessible via hash keys
@param key
58 59 60 |
# File 'lib/omnijack/endpoint.rb', line 58 def [](key) to_h[key] end |
#base_url(arg = nil) ⇒ String
The base URL of the Omnitruck API
83 84 85 86 |
# File 'lib/omnijack/endpoint.rb', line 83 def base_url(arg = nil) # TODO: Better URL validation set_or_return(:base_url, arg, kind_of: String, default: DEFAULT_BASE_URL) end |
#to_h ⇒ Hash
Offer a hash representation of the object
67 68 69 70 |
# File 'lib/omnijack/endpoint.rb', line 67 def to_h # TODO: Use a Mash -- some keys are better off addressed as strings JSON.parse(raw_data, symbolize_names: true) end |