Sha256: f4a3650c738a7608e280fbf3f34ee14d2e205d5429eef28190c3dcd166d2b053

Contents?: true

Size: 1.7 KB

Versions: 63

Compression:

Stored size: 1.7 KB

Contents

module FinApps
  module REST

    require 'erb'

    class Institutions < FinApps::REST::Resources
      include FinApps::REST::Defaults

      # @param [String] term
      # @return [Array<FinApps::REST::Institution>, Array<String>]
      def search(term)
        logger.debug "##{__method__.to_s} => Started"

        raise MissingArgumentsError.new 'Missing argument: term.' if term.blank?
        logger.debug "##{__method__.to_s} => term: #{term}"

        end_point = Defaults::END_POINTS[:institutions_list]
        logger.debug "##{__method__.to_s} => end_point: #{end_point}"

        path = end_point.sub ':search_term', ERB::Util.url_encode(term)
        logger.debug "##{__method__.to_s} => path: #{path}"

        institutions, error_messages = @client.send(path, :get)

        logger.debug "##{__method__.to_s} => Completed"
        return institutions, error_messages
      end

      # @param [Integer] site_id
      def form(site_id)
        logger.debug "##{__method__.to_s} => Started"

        raise MissingArgumentsError.new 'Missing argument: site_id.' if site_id.blank?
        logger.debug "##{__method__.to_s} => site_id: #{site_id}"

        end_point = Defaults::END_POINTS[:institutions_form]
        logger.debug "##{__method__.to_s} => end_point: #{end_point}"

        path = end_point.sub ':site_id', ERB::Util.url_encode(site_id)
        logger.debug "##{__method__.to_s} => path: #{path}"

        institution, error_messages = @client.send(path, :get) { |r| Institution.new(r.body) }

        logger.debug "##{__method__.to_s} => Completed"
        return institution, error_messages
      end

    end

    class Institution < FinApps::REST::Resource
      attr_accessor :login_form_html
    end

  end
end

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
finapps-0.22.2.pre lib/finapps/rest/institutions.rb
finapps-0.22.1.pre lib/finapps/rest/institutions.rb
finapps-0.22.0.pre lib/finapps/rest/institutions.rb
finapps-0.21.6.pre lib/finapps/rest/institutions.rb
finapps-0.21.5.pre lib/finapps/rest/institutions.rb
finapps-0.21.4.pre lib/finapps/rest/institutions.rb
finapps-0.21.3.pre lib/finapps/rest/institutions.rb
finapps-0.21.2.pre lib/finapps/rest/institutions.rb
finapps-0.21.0.pre lib/finapps/rest/institutions.rb
finapps-0.20.0.pre lib/finapps/rest/institutions.rb
finapps-0.19.1.pre lib/finapps/rest/institutions.rb
finapps-0.19.0.pre lib/finapps/rest/institutions.rb
finapps-0.18.4.pre lib/finapps/rest/institutions.rb
finapps-0.18.3.pre lib/finapps/rest/institutions.rb
finapps-0.18.2.pre lib/finapps/rest/institutions.rb
finapps-0.18.1.pre lib/finapps/rest/institutions.rb
finapps-0.18.0.pre lib/finapps/rest/institutions.rb
finapps-0.17.1.pre lib/finapps/rest/institutions.rb
finapps-0.17.0.pre lib/finapps/rest/institutions.rb
finapps-0.16.6.pre lib/finapps/rest/institutions.rb