Class: DotloopApi::EndPoints::Base

Inherits:
Object
  • Object
show all
Includes:
ModelBuilder
Defined in:
lib/dotloop_api/end_points/base.rb

Instance Method Summary collapse

Methods included from ModelBuilder

#build_details, #build_documents, #build_model

Instance Method Details

#allObject



9
10
11
# File 'lib/dotloop_api/end_points/base.rb', line 9

def all
  @client.get(path)[:data].map { |attrs| build_model(attrs) }
end

#create(model) ⇒ Object



23
24
25
26
# File 'lib/dotloop_api/end_points/base.rb', line 23

def create(model)
  response = @client.post(path, model)
  build_model(response[:data])
end

#delete(model) ⇒ Object



28
29
30
# File 'lib/dotloop_api/end_points/base.rb', line 28

def delete(model)
  @client.delete(single_path(model.id))
end

#find(id:) ⇒ Object



13
14
15
# File 'lib/dotloop_api/end_points/base.rb', line 13

def find(id:)
  build_model(@client.get(single_path(id))[:data])
end

#save(model) ⇒ Object



17
18
19
20
21
# File 'lib/dotloop_api/end_points/base.rb', line 17

def save(model)
  return create(model) unless model.id
  response = @client.patch(single_path(model.id), model)
  build_model(response[:data])
end

#single_path(id) ⇒ Object



32
33
34
# File 'lib/dotloop_api/end_points/base.rb', line 32

def single_path(id)
  [path, '/', id.to_i].join
end