Class: Emailvision::Relation
- Inherits:
-
Object
- Object
- Emailvision::Relation
- Defined in:
- lib/emailvision/relation.rb
Overview
Relation is used for API-chained call
e.g. emv.get.campaign.last(:limit => 5).call
Instance Method Summary collapse
-
#call(*args) ⇒ Object
Trigger the API call.
-
#initialize(instance, request) ⇒ Relation
constructor
A new instance of Relation.
- #method_missing(method, *args) ⇒ Object
Constructor Details
#initialize(instance, request) ⇒ Relation
Returns a new instance of Relation.
9 10 11 12 13 14 |
# File 'lib/emailvision/relation.rb', line 9 def initialize(instance, request) @instance = instance @request = request @uri = [] = {} end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
27 28 29 30 31 |
# File 'lib/emailvision/relation.rb', line 27 def method_missing(method, *args) @uri << method.to_s.camelize(:lower) .merge! extract_args(args) self end |
Instance Method Details
#call(*args) ⇒ Object
Trigger the API call
21 22 23 24 25 |
# File 'lib/emailvision/relation.rb', line 21 def call(*args) .merge! extract_args(args) @request.prepare(@uri.join('/'), ) @instance.call(@request) end |