lib/mangopay/api/service/mandates.rb in mangopay-v4-4.0.0 vs lib/mangopay/api/service/mandates.rb in mangopay-v4-4.0.1
- old
+ new
@@ -1,142 +1,142 @@
-require_relative '../uri_provider'
-
-module MangoApi
-
- # Provides API method delegates concerning the +Mandate+ entity
- module Mandates
- class << self
- include UriProvider
-
- # Creates a new mandate entity.
- #
- # +Mandate+ properties:
- # * Required
- # * bank_account_id
- # * culture
- # * return_url
- # * Optional
- # * tag
- #
- # @param +mandate+ [Mandate] model object of mandate to be created
- # @param +id_key+ [String] idempotency key for future response replication
- # @return [Mandate] the newly-created Mandate entity object
- def create(mandate, id_key = nil)
- uri = provide_uri(:create_mandate)
- response = HttpClient.post(uri, mandate, id_key)
- parse response
- end
-
- # Retrieves a mandate entity.
- #
- # @param +id+ [String] ID of the mandate to retrieve
- # @return [Mandate] the requested Mandate entity object
- def get(id)
- uri = provide_uri(:get_mandate, id)
- response = HttpClient.get(uri)
- parse response
- end
-
- # Cancels a mandate.
- #
- # @param +id+ [String] ID of the mandate to cancel
- # @return [Mandate] the updated Mandate entity object
- def cancel(id)
- uri = provide_uri(:cancel_mandate, id)
- response = HttpClient.put(uri)
- parse response
- end
-
- # Retrieves mandate entity pages. Allows configuration
- # of paging and sorting parameters by yielding a filtering
- # object to a provided block. When no filters are specified,
- # will retrieve the first page of 10 newest results.
- #
- # Allowed +FilterRequest+ params:
- # * page
- # * per_page
- # * sort_field and sort_direction
- # * before_date
- # * after_date
- #
- # @return [Array] array of hashed mandate entities corresponding
- # to provided filters
- def all
- uri = provide_uri(:get_mandates)
- filter_request = nil
- yield filter_request = FilterRequest.new if block_given?
- results = HttpClient.get(uri, filter_request)
- parse_results results
- end
-
- # Retrieves pages of mandate entities belonging to a certain user.
- # Allows configuration of paging and sorting parameters by yielding
- # a filtering object to a provided block. When no filters are
- # specified, will retrieve the first page of 10 newest results
- #
- # Allowed +FilterRequest+ params:
- # * page
- # * per_page
- # * sort_field and sort_direction
- # * before_date
- # * after_date
- #
- # @param +id+ [String] ID of the user whose mandates to retrieve
- # @return [Array] array of hashed mandate entities corresponding
- # to provided filters
- def of_user(id)
- uri = provide_uri(:get_users_mandates, id)
- filter_request = nil
- yield filter_request = FilterRequest.new if block_given?
- results = HttpClient.get(uri, filter_request)
- parse_results results
- end
-
- # Retrieves pages of mandate entities belonging to a certain bank account.
- # Allows configuration of paging and sorting parameters by yielding
- # a filtering object to a provided block. When no filters are
- # specified, will retrieve the first page of 10 newest results
- #
- # Allowed +FilterRequest+ params:
- # * page
- # * per_page
- # * sort_field and sort_direction
- # * before_date
- # * after_date
- #
- # @param +user_id+ [String] ID of the user owning the bank account
- # @param +account_id+ [String] ID of the bank account whose mandates
- # to retrieve
- # @return [Array] array of hashed mandate entities corresponding
- # to provided filters
- def of_bank_account(user_id, account_id)
- uri = provide_uri(:get_accounts_mandates, user_id, account_id)
- filter_request = nil
- yield filter_request = FilterRequest.new if block_given?
- results = HttpClient.get(uri, filter_request)
- parse_results results
- end
-
- private
-
- # Parses an array of JSON-originating hashes into the corresponding
- # Mandate entity objects.
- #
- # @param +results+ [Array] JSON-originating data hashes
- # @return [Array] parsed Mandate entity objects
- def parse_results(results)
- results.collect do |entity|
- parse entity
- end
- end
-
- # Parses a JSON-originating hash into the corresponding
- # Mandate entity object.
- #
- # @param +response+ [Hash] JSON-originating data hash
- # @return [Mandate] corresponding Mandate entity object
- def parse(response)
- MangoModel::Mandate.new.dejsonify response
- end
- end
- end
+require_relative '../uri_provider'
+
+module MangoApi
+
+ # Provides API method delegates concerning the +Mandate+ entity
+ module Mandates
+ class << self
+ include UriProvider
+
+ # Creates a new mandate entity.
+ #
+ # +Mandate+ properties:
+ # * Required
+ # * bank_account_id
+ # * culture
+ # * return_url
+ # * Optional
+ # * tag
+ #
+ # @param +mandate+ [Mandate] model object of mandate to be created
+ # @param +id_key+ [String] idempotency key for future response replication
+ # @return [Mandate] the newly-created Mandate entity object
+ def create(mandate, id_key = nil)
+ uri = provide_uri(:create_mandate)
+ response = HttpClient.post(uri, mandate, id_key)
+ parse response
+ end
+
+ # Retrieves a mandate entity.
+ #
+ # @param +id+ [String] ID of the mandate to retrieve
+ # @return [Mandate] the requested Mandate entity object
+ def get(id)
+ uri = provide_uri(:get_mandate, id)
+ response = HttpClient.get(uri)
+ parse response
+ end
+
+ # Cancels a mandate.
+ #
+ # @param +id+ [String] ID of the mandate to cancel
+ # @return [Mandate] the updated Mandate entity object
+ def cancel(id)
+ uri = provide_uri(:cancel_mandate, id)
+ response = HttpClient.put(uri)
+ parse response
+ end
+
+ # Retrieves mandate entity pages. Allows configuration
+ # of paging and sorting parameters by yielding a filtering
+ # object to a provided block. When no filters are specified,
+ # will retrieve the first page of 10 newest results.
+ #
+ # Allowed +FilterRequest+ params:
+ # * page
+ # * per_page
+ # * sort_field and sort_direction
+ # * before_date
+ # * after_date
+ #
+ # @return [Array] array of hashed mandate entities corresponding
+ # to provided filters
+ def all
+ uri = provide_uri(:get_mandates)
+ filter_request = nil
+ yield filter_request = FilterRequest.new if block_given?
+ results = HttpClient.get(uri, filter_request)
+ parse_results results
+ end
+
+ # Retrieves pages of mandate entities belonging to a certain user.
+ # Allows configuration of paging and sorting parameters by yielding
+ # a filtering object to a provided block. When no filters are
+ # specified, will retrieve the first page of 10 newest results
+ #
+ # Allowed +FilterRequest+ params:
+ # * page
+ # * per_page
+ # * sort_field and sort_direction
+ # * before_date
+ # * after_date
+ #
+ # @param +id+ [String] ID of the user whose mandates to retrieve
+ # @return [Array] array of hashed mandate entities corresponding
+ # to provided filters
+ def of_user(id)
+ uri = provide_uri(:get_users_mandates, id)
+ filter_request = nil
+ yield filter_request = FilterRequest.new if block_given?
+ results = HttpClient.get(uri, filter_request)
+ parse_results results
+ end
+
+ # Retrieves pages of mandate entities belonging to a certain bank account.
+ # Allows configuration of paging and sorting parameters by yielding
+ # a filtering object to a provided block. When no filters are
+ # specified, will retrieve the first page of 10 newest results
+ #
+ # Allowed +FilterRequest+ params:
+ # * page
+ # * per_page
+ # * sort_field and sort_direction
+ # * before_date
+ # * after_date
+ #
+ # @param +user_id+ [String] ID of the user owning the bank account
+ # @param +account_id+ [String] ID of the bank account whose mandates
+ # to retrieve
+ # @return [Array] array of hashed mandate entities corresponding
+ # to provided filters
+ def of_bank_account(user_id, account_id)
+ uri = provide_uri(:get_accounts_mandates, user_id, account_id)
+ filter_request = nil
+ yield filter_request = FilterRequest.new if block_given?
+ results = HttpClient.get(uri, filter_request)
+ parse_results results
+ end
+
+ private
+
+ # Parses an array of JSON-originating hashes into the corresponding
+ # Mandate entity objects.
+ #
+ # @param +results+ [Array] JSON-originating data hashes
+ # @return [Array] parsed Mandate entity objects
+ def parse_results(results)
+ results.collect do |entity|
+ parse entity
+ end
+ end
+
+ # Parses a JSON-originating hash into the corresponding
+ # Mandate entity object.
+ #
+ # @param +response+ [Hash] JSON-originating data hash
+ # @return [Mandate] corresponding Mandate entity object
+ def parse(response)
+ MangoModel::Mandate.new.dejsonify response
+ end
+ end
+ end
end
\ No newline at end of file