lib/mangopay/http_calls.rb in mangopay-3.0.25.pre.alpha.pre.20 vs lib/mangopay/http_calls.rb in mangopay-3.0.25
- old
+ new
@@ -1,85 +1,85 @@
-module MangoPay
- module HTTPCalls
- module Create
- module ClassMethods
-
- def create(params, id = nil, idempotency_key = nil)
- # LEGACY SUPPORT FOR OLD SIGNATURE: def create(*id, params)
- if !params.is_a?(Hash) && id.is_a?(Hash)
- temp = params
- params = id
- id = temp
- end
- MangoPay.request(:post, url(id), params, {}, idempotency_key)
- end
- end
-
- def self.included(base)
- base.extend(ClassMethods)
- end
- end
-
- module Update
- module ClassMethods
- def update(id = nil, params = {})
- MangoPay.request(:put, url(id), params)
- end
- end
-
- def self.included(base)
- base.extend(ClassMethods)
- end
- end
-
- module Fetch
- module ClassMethods
-
- # - Fetching _single_entity_ by +id+:
- #
- # MangoPay::User.fetch("user-id") # => {"FirstName"=>"Mango", "LastName"=>"Pay", ...}
- #
- # - or fetching _multiple_entities_ with _optional_ +filters+ hash,
- # including _pagination_ and _sorting_ params
- # +page+, +per_page+, +sort+ (see http://docs.mangopay.com/api-references/pagination/):
- #
- # MangoPay::User.fetch() # => [{...}, ...]: list of user data hashes (10 per page by default)
- # MangoPay::User.fetch({'page' => 2, 'per_page' => 3}) # => list of 3 hashes from 2nd page
- # MangoPay::BankAccount.fetch(user_id, {'sort' => 'CreationDate:desc'}) # => bank accounts by user, sorting by date descending (with default pagination)
- # MangoPay::BankAccount.fetch(user_id, {'sort' => 'CreationDate:desc', 'page' => 2, 'per_page' => 3}) # both sorting and pagination params provided
- #
- # - For paginated queries the +filters+ param will be supplemented by +total_pages+ and +total_items+ info:
- #
- # MangoPay::User.fetch(filter = {'page' => 2, 'per_page' => 3})
- # filter # => {"page"=>2, "per_page"=>3, "total_pages"=>1969, "total_items"=>5905}
- #
- def fetch(id_or_filters = nil)
- id, filters = HTTPCalls::Fetch.parse_id_or_filters(id_or_filters)
- response = MangoPay.request(:get, url(id), {}, filters)
- end
- end
-
- def self.included(base)
- base.extend(ClassMethods)
- end
-
- def self.parse_id_or_filters(id_or_filters = nil)
- id_or_filters.is_a?(Hash) ? [nil, id_or_filters] : [id_or_filters, {}]
- end
- end
-
- module Refund
- module ClassMethods
-
- # See http://docs.mangopay.com/api-references/refund/%E2%80%A2-refund-a-pay-in/
- # See http://docs.mangopay.com/api-references/refund/%E2%80%A2-refund-a-transfer/
- def refund(id = nil, params = {}, idempotency_key = nil)
- MangoPay.request(:post, url(id) + '/refunds', params, {}, idempotency_key)
- end
- end
-
- def self.included(base)
- base.extend(ClassMethods)
- end
- end
- end
-end
+module MangoPay
+ module HTTPCalls
+ module Create
+ module ClassMethods
+
+ def create(params, id = nil, idempotency_key = nil)
+ # LEGACY SUPPORT FOR OLD SIGNATURE: def create(*id, params)
+ if !params.is_a?(Hash) && id.is_a?(Hash)
+ temp = params
+ params = id
+ id = temp
+ end
+ MangoPay.request(:post, url(id), params, {}, idempotency_key)
+ end
+ end
+
+ def self.included(base)
+ base.extend(ClassMethods)
+ end
+ end
+
+ module Update
+ module ClassMethods
+ def update(id = nil, params = {})
+ MangoPay.request(:put, url(id), params)
+ end
+ end
+
+ def self.included(base)
+ base.extend(ClassMethods)
+ end
+ end
+
+ module Fetch
+ module ClassMethods
+
+ # - Fetching _single_entity_ by +id+:
+ #
+ # MangoPay::User.fetch("user-id") # => {"FirstName"=>"Mango", "LastName"=>"Pay", ...}
+ #
+ # - or fetching _multiple_entities_ with _optional_ +filters+ hash,
+ # including _pagination_ and _sorting_ params
+ # +page+, +per_page+, +sort+ (see http://docs.mangopay.com/api-references/pagination/):
+ #
+ # MangoPay::User.fetch() # => [{...}, ...]: list of user data hashes (10 per page by default)
+ # MangoPay::User.fetch({'page' => 2, 'per_page' => 3}) # => list of 3 hashes from 2nd page
+ # MangoPay::BankAccount.fetch(user_id, {'sort' => 'CreationDate:desc'}) # => bank accounts by user, sorting by date descending (with default pagination)
+ # MangoPay::BankAccount.fetch(user_id, {'sort' => 'CreationDate:desc', 'page' => 2, 'per_page' => 3}) # both sorting and pagination params provided
+ #
+ # - For paginated queries the +filters+ param will be supplemented by +total_pages+ and +total_items+ info:
+ #
+ # MangoPay::User.fetch(filter = {'page' => 2, 'per_page' => 3})
+ # filter # => {"page"=>2, "per_page"=>3, "total_pages"=>1969, "total_items"=>5905}
+ #
+ def fetch(id_or_filters = nil)
+ id, filters = HTTPCalls::Fetch.parse_id_or_filters(id_or_filters)
+ response = MangoPay.request(:get, url(id), {}, filters)
+ end
+ end
+
+ def self.included(base)
+ base.extend(ClassMethods)
+ end
+
+ def self.parse_id_or_filters(id_or_filters = nil)
+ id_or_filters.is_a?(Hash) ? [nil, id_or_filters] : [id_or_filters, {}]
+ end
+ end
+
+ module Refund
+ module ClassMethods
+
+ # See http://docs.mangopay.com/api-references/refund/%E2%80%A2-refund-a-pay-in/
+ # See http://docs.mangopay.com/api-references/refund/%E2%80%A2-refund-a-transfer/
+ def refund(id = nil, params = {}, idempotency_key = nil)
+ MangoPay.request(:post, url(id) + '/refunds', params, {}, idempotency_key)
+ end
+ end
+
+ def self.included(base)
+ base.extend(ClassMethods)
+ end
+ end
+ end
+end