Class: RocketfuelApi::Resource
- Inherits:
-
Object
- Object
- RocketfuelApi::Resource
show all
- Defined in:
- lib/rocketfuel_api/resource.rb
Direct Known Subclasses
AdvertisementAdAssignment, AdvertisementCard, AssignedFlight, Campaign, CampaignPixel, Company, Flight, LineItem, Pixel, PixelSearch, Reporting, ReportingDimension, ReportingMetric, SubNetwork, Tactic, ThirdPartyPixelSearch
Defined Under Namespace
Classes: AdvertisementAdAssignment, AdvertisementCard, AssignedFlight, Campaign, CampaignPixel, Company, Flight, LineItem, Pixel, PixelSearch, Reporting, ReportingDimension, ReportingMetric, SubNetwork, Tactic, ThirdPartyPixelSearch
Instance Method Summary
collapse
Constructor Details
#initialize(json, service) ⇒ Resource
Returns a new instance of Resource.
4
5
6
7
|
# File 'lib/rocketfuel_api/resource.rb', line 4
def initialize(json, service)
@json = json
@service = service
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args, &block) ⇒ Object
24
25
26
27
28
29
30
31
32
|
# File 'lib/rocketfuel_api/resource.rb', line 24
def method_missing(sym, *args, &block)
if @json.respond_to?(sym)
@json.public_send(sym, *args, &block)
elsif @json.key?(sym.to_s)
@json[sym.to_s]
else
super
end
end
|
Instance Method Details
#delete(route_params = {}) ⇒ Object
16
17
18
|
# File 'lib/rocketfuel_api/resource.rb', line 16
def delete(route_params = {})
@service.delete(id, route_params)
end
|
#raw_json ⇒ Object
20
21
22
|
# File 'lib/rocketfuel_api/resource.rb', line 20
def raw_json
@json
end
|
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
34
35
36
|
# File 'lib/rocketfuel_api/resource.rb', line 34
def respond_to_missing?(method_name, include_private = false)
@json.respond_to?(sym) || @json.key?(sym.to_s) || super
end
|
#to_s ⇒ Object
38
39
40
|
# File 'lib/rocketfuel_api/resource.rb', line 38
def to_s
@json.inspect
end
|
#update(route_params = {}, body_params = {}) ⇒ Object
9
10
11
12
13
14
|
# File 'lib/rocketfuel_api/resource.rb', line 9
def update(route_params = {}, body_params = {})
resource = @service.update(id, route_params, body_params)
@json = resource.raw_json
self
end
|