class Dotloop::Participant

Constants

PARTICIPANT_FIELDS

Attributes

client[RW]

Public Class Methods

new(client:) click to toggle source
# File lib/dotloop/participant.rb, line 24
def initialize(client:)
  @client = client
end

Public Instance Methods

all(profile_id:, loop_id:) click to toggle source
# File lib/dotloop/participant.rb, line 28
def all(profile_id:, loop_id:)
  @client.get("/profile/#{profile_id.to_i}/loop/#{loop_id.to_i}/participant")[:data].map do |participant_attrs|
    participant_data = parse_data(participant_attrs)
    participant = Dotloop::Models::Participant.new(participant_attrs)
    participant.client = client
    participant.profile_id = profile_id.to_i
    participant.loop_id = loop_id.to_i
    participant
  end
end
create(profile_id:, loop_id:, params: {}) click to toggle source
# File lib/dotloop/participant.rb, line 49
def create(profile_id:, loop_id:, params: {})
  data = {}
  params.each do |key, value|
    PARTICIPANT_FIELDS.include?(key.to_s) || next
    data[key] = value.to_s
  end
  participant_data = @client.post("/profile/#{profile_id.to_i}/loop/#{loop_id.to_i}/participant", data)[:data]
  participant_data = parse_data(participant_data)
  participant = Dotloop::Models::Participant.new(participant_data)
  participant.client = client
  participant.profile_id = profile_id.to_i
  participant.loop_id = loop_id.to_i
  participant
end
delete(profile_id:, loop_id:, participant_id:) click to toggle source
# File lib/dotloop/participant.rb, line 79
def delete(profile_id:, loop_id:, participant_id:)
  @client.delete("/profile/#{profile_id.to_i}/loop/#{loop_id.to_i}/participant/#{participant_id.to_i}")
end
find(profile_id:, loop_id:, participant_id:) click to toggle source
# File lib/dotloop/participant.rb, line 39
def find(profile_id:, loop_id:, participant_id:)
  participant_data = @client.get("/profile/#{profile_id.to_i}/loop/#{loop_id.to_i}/participant/#{participant_id.to_i}")[:data]
  participant_data = parse_data(participant_data)
  participant = Dotloop::Models::Participant.new(participant_data)
  participant.client = client
  participant.profile_id = profile_id.to_i
  participant.loop_id = loop_id.to_i
  participant
end
update(profile_id:, loop_id:, participant_id:, params: {}) click to toggle source
# File lib/dotloop/participant.rb, line 64
def update(profile_id:, loop_id:, participant_id:, params: {})
  data = {}
  params.each do |key, value|
    PARTICIPANT_FIELDS.include?(key.to_s) || next
    data[key] = value.to_s
  end
  participant_data = @client.patch("/profile/#{profile_id.to_i}/loop/#{loop_id.to_i}/participant/#{participant_id.to_i}", data)[:data]
  participant_data = parse_data(participant_data)
  participant = Dotloop::Models::Participant.new(participant_data)
  participant.client = client
  participant.profile_id = profile_id.to_i
  participant.loop_id = loop_id.to_i
  participant
end

Private Instance Methods

fields() click to toggle source
# File lib/dotloop/participant.rb, line 85
def fields
  PARTICIPANT_FIELDS
end