Sha256: 12edc2e03bd1994418366a746b5c38615b414f30bdc8f9ce2c3a76903c20e4e3

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

require_relative "gateway_base"

module FaithTeams
  module API
    module V2
      # Central gateway for all API resources
      class Gateway < GatewayBase
        # @param connection [FaithTeams::API::V2::Connection]
        def initialize(connection:)
          @connection = connection
        end

        # @return [Resource::Batch]
        def batch
          @batch ||= Resource::Batch.new(connection: connection)
        end

        # @return [Resource::Fund]
        def fund
          @fund ||= Resource::Fund.new(connection: connection)
        end

        # @return [Resource::Person]
        def person
          @person ||= Resource::Person.new(connection: connection)
        end

        # @return [Resource::Contribution]
        def contribution
          @contribution ||= Resource::Contribution.new(connection: connection)
        end

        # @return [Resource::User]
        def user
          @user ||= Resource::User.new(connection: connection)
        end

        # @return [Resource::ContributionType]
        def contribution_type
          @contribution_type ||= Resource::ContributionType.new(connection: connection)
        end

        def valid_connection?
          connection.valid?
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
faithteams-api-2.0.2 lib/faithteams/api/v2/gateway.rb
faithteams-api-2.0.1 lib/faithteams/api/v2/gateway.rb