Class: Pingpp::AppBasedResource
- Inherits:
-
APIResource
- Object
- PingppObject
- APIResource
- Pingpp::AppBasedResource
- Defined in:
- lib/pingpp/app_based_resource.rb
Direct Known Subclasses
BalanceBonus, BalanceSettlement, BalanceTransaction, BalanceTransfer, BatchWithdrawal, CouponTemplate, Recharge, SubApp, User, Withdrawal
Class Method Summary collapse
Methods inherited from APIResource
class_name, object_name, #refresh, #resource_url, retrieve, uri_object_name
Methods included from Pingpp::APIOperations::Request
Methods inherited from PingppObject
#==, #[], #[]=, #_dump, _load, #as_json, construct_from, #each, #initialize, #inspect, #keys, #refresh_from, #respond_to?, #serialize_params, #to_hash, #to_json, #to_s, #values
Constructor Details
This class inherits a constructor from Pingpp::PingppObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Pingpp::PingppObject
Class Method Details
.resource_url(opts = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pingpp/app_based_resource.rb', line 4 def self.resource_url(opts={}) if self == AppBasedResource raise NotImplementedError.new('AppBasedResource is an abstract class. You should perform actions on its subclasses (User, etc.)') end app_id = opts[:app] unless app_id ||= Pingpp.app_id raise InvalidRequestError.new("Please set app_id using Pingpp.app_id = <APP_ID>", 'app_id') end url = "/v1/apps/#{app_id}" if opts.has_key?(:parents) if opts[:parents].is_a?(Array) url + "/#{opts[:parents].join('/')}/#{CGI.escape(uri_object_name.downcase)}s" else raise ArgumentError.new("opts[:parents] should be an Array") end else url + "/#{CGI.escape(uri_object_name.downcase)}s" end end |