Class: RightScaleSelfService::Api::Service
- Inherits:
-
Object
- Object
- RightScaleSelfService::Api::Service
- Defined in:
- lib/rightscale_selfservice/api/service.rb
Overview
A base class for behavior shared with all SS API Services. Today they are (designer,catalog,manager)
Instance Attribute Summary collapse
-
#base_url ⇒ Object
Returns the value of attribute base_url.
-
#client ⇒ Object
Returns the value of attribute client.
-
#name ⇒ Object
Returns the value of attribute name.
-
#version ⇒ Object
Returns the value of attribute version.
Instance Method Summary collapse
-
#initialize(name, version, base_url, client) ⇒ Service
constructor
A new instance of Service.
- #method_missing(name, *arguments) ⇒ Object
Constructor Details
#initialize(name, version, base_url, client) ⇒ Service
Returns a new instance of Service.
35 36 37 38 39 40 41 |
# File 'lib/rightscale_selfservice/api/service.rb', line 35 def initialize(name, version, base_url, client) @resources = {} @name = name @version = version @base_url = base_url @client = client end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *arguments) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/rightscale_selfservice/api/service.rb', line 43 def method_missing(name, *arguments) unless client.interface["services"][@name][@version].has_key?(name.to_s) raise "No resource named \"#{name}\" was found in version \"#{@version}\" of service \"#{@name}\". Available resources are [#{client.interface["services"][@name][@version].keys.join(',')}]" end if @resources.has_key?(name.to_s) @resources[name.to_s] else resource = RightScaleSelfService::Api::Resource.new(name.to_s, self) @resources[name.to_s] = resource end end |
Instance Attribute Details
#base_url ⇒ Object
Returns the value of attribute base_url.
33 34 35 |
# File 'lib/rightscale_selfservice/api/service.rb', line 33 def base_url @base_url end |
#client ⇒ Object
Returns the value of attribute client.
29 30 31 |
# File 'lib/rightscale_selfservice/api/service.rb', line 29 def client @client end |
#name ⇒ Object
Returns the value of attribute name.
27 28 29 |
# File 'lib/rightscale_selfservice/api/service.rb', line 27 def name @name end |
#version ⇒ Object
Returns the value of attribute version.
31 32 33 |
# File 'lib/rightscale_selfservice/api/service.rb', line 31 def version @version end |