Class: Latitude::Client::ResourceFacade
- Inherits:
-
Object
- Object
- Latitude::Client::ResourceFacade
show all
- Defined in:
- lib/latitude/api/client.rb
Instance Method Summary
collapse
Constructor Details
#initialize(class_name:, config:) ⇒ ResourceFacade
Returns a new instance of ResourceFacade.
56
57
58
59
|
# File 'lib/latitude/api/client.rb', line 56
def initialize(class_name:, config:)
@class_name = class_name
@config = config
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, **kwargs, &blk) ⇒ Object
65
66
67
68
69
70
71
72
73
|
# File 'lib/latitude/api/client.rb', line 65
def method_missing(name, *args, **kwargs, &blk)
if resource_class.respond_to?(name)
Latitude::API::APIResource.with_config(@config) do
resource_class.public_send(name, *args, **kwargs, &blk)
end
else
super
end
end
|
Instance Method Details
#resource_class ⇒ Object
61
62
63
|
# File 'lib/latitude/api/client.rb', line 61
def resource_class
@resource_class ||= ::Object.const_get(@class_name)
end
|
#respond_to_missing?(name, include_private = false) ⇒ Boolean
75
76
77
|
# File 'lib/latitude/api/client.rb', line 75
def respond_to_missing?(name, include_private = false)
resource_class.respond_to?(name) || super
end
|