Sha256: 8d6d0a1f5087532417a0fa0c89f349090c56ae4fc982d108a47b9db5459da423

Contents?: true

Size: 880 Bytes

Versions: 3

Compression:

Stored size: 880 Bytes

Contents

# typed: false
module Researchable
  module FreedcampApi
    class ListProjects < Endpoint
      integer :project_id, default: nil
      integer :f_with_archived, default: 1

      # Accepts "active", "archived", "all" values. Omitting is equal to "active".
      string :lists_status, default: 'active'
      integer :f_cf, default: 1

      # @api private
      def execute
        list_projects(project_id)
      end

      # sig do
      # params(
      # project_id: T.nilable(Integer)
      # ).returns(
      # T::Array[Researchable::FreedcampApi::Structs::Task]
      # )
      # end
      def list_projects(project_id)
        project_query = project_id ? "/#{project_id}" : '/'
        fetch_all('projects') do |limit, offset|
          session.get("/projects#{project_query}?limit=#{limit}
                   &offset=#{offset}")
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
researchable-freedcamp-api-0.1.8 lib/researchable/freedcamp_api/list_projects.rb
researchable-freedcamp-api-0.1.7 lib/researchable/freedcamp_api/list_projects.rb
researchable-freedcamp-api-0.1.6 lib/researchable/freedcamp_api/list_projects.rb