class Harvest::Discovers::Projects

Public Instance Methods

discover(admin_api, client, factory, active_user, _state, _params) click to toggle source
# File lib/harvest/discovers.rb, line 6
def discover(admin_api, client, factory, active_user, _state, _params)
  @client = client
  @factory = factory
  @active_user = active_user
  admin_api ? admin_projects : project_assignments
end

Private Instance Methods

admin_projects() click to toggle source

@api private All Projects

# File lib/harvest/discovers.rb, line 17
def admin_projects
  @client
    .api_call(
      @client.api_caller('projects')
    )['projects']
    .map { |project| @factory.project(project) }
end
project_assignments(user_id: @active_user.id) click to toggle source

@api private Projects assigned to the specified user_id

# File lib/harvest/discovers.rb, line 27
def project_assignments(user_id: @active_user.id)
  @client
    .api_call(
      @client.api_caller(
        "users/#{user_id}/project_assignments"
      )
    )['project_assignments']
    .map do |project|
      @factory.project_assignment(project)
    end
end