Method: Client#project_users

Defined in:
lib/ft_42.rb

#project_usersObject



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/ft_42.rb', line 107

def project_users
  user_projects = []
  i = 1
  loop do
    begin
      tries ||= 3
      if input_3
        response = token.get("/v2/projects_users?filter[campus]=#{campus['id']}&filter[project_id]=#{project['id']}&range[created_at]=#{after},#{before}", params: { page: i, per_page: 100 }).parsed
      else
        response = token.get("/v2/projects_users?filter[campus]=#{campus['id']}&filter[project_id]=#{project['id']}", params: { page: i, per_page: 100 }).parsed
      end
    rescue
      puts "Something went wrong..."
      puts "REFRESHING API TOKEN... wait 8 sec"
      sleep 8
      client = OAuth2::Client.new(ENV.fetch("UID42"), ENV.fetch("SECRET42"), site: ENV.fetch("API42"))
      token  = client.client_credentials.get_token
      puts "Retrying request..."
      retry unless (tries -= 1).zero?
    else
      break if response.empty?
      user_projects << response
      i += 1
    end
  end
  user_projects
end