module FinApps module REST class Transactions < FinApps::REST::Resources include FinApps::REST::Defaults # @transaction_id [String] # # @return [Hash, Array] def search_by_id(transaction_id) logger.debug "##{__method__.to_s} => Started" logger.debug "##{__method__.to_s} => searching transaction matching id: #{transaction_id}" transactions, error_messages = search_by_ids([transaction_id]) # get one transaction = transactions.present? ? transactions.first : nil logger.debug "##{__method__.to_s} => Completed" return transaction, error_messages end # @transaction_ids [Array] # # @return [Array, Array] def search_by_ids(transaction_ids) logger.debug "##{__method__.to_s} => Started" default_parameters = { :begin_date => DateTime.new(2000, 1, 1, 00, 00, 00), :end_date => Time.now, :records_per_page => 50, :page_number => 1, :sort_by => 'date', :sort_order => -1 } transactions, error_messages = search default_parameters # filter by given ids logger.debug "##{__method__.to_s} => searching transaction matching ids: #{transaction_ids.inspect}" transactions = transactions.present? ? transactions.select { |t| transaction_ids.include?(t[:_id]) } : nil logger.debug "##{__method__.to_s} => Completed" return transactions, error_messages end # @param [Hash] params # @return [Array, Array] def search(params={}) logger.debug "##{__method__.to_s} => Started" path = Defaults::END_POINTS[:transactions_list] logger.debug "##{__method__.to_s} => path: #{path}" transactions, error_messages = @client.send(path, :post, params.compact) logger.debug "##{__method__.to_s} => Completed" return transactions, error_messages end # @param [Hash] params # @return [Array, Array] def edit(params={}) logger.debug "##{__method__.to_s} => Started" path = Defaults::END_POINTS[:transactions_list] logger.debug "##{__method__.to_s} => path: #{path}" transactions, error_messages = @client.send(path, :put, params.compact) logger.debug "##{__method__.to_s} => Completed" return transactions, error_messages end end end end