Module: Packet::Client::Projects

Included in:
Packet::Client
Defined in:
lib/packet/client/projects.rb

Instance Method Summary collapse

Instance Method Details

#create_project(project) ⇒ Object



12
13
14
15
16
# File 'lib/packet/client/projects.rb', line 12

def create_project(project)
  post('projects', project.to_hash).tap do |response|
    project.update_attributes(response.body)
  end
end

#delete_project(project_or_id) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/packet/client/projects.rb', line 24

def delete_project(project_or_id)
  id = if project_or_id.is_a?(Packet::Project)
         project_or_id.id
       else
         project_or_id
       end
  delete("projects/#{id}")
end

#get_project(id, *args) ⇒ Object



8
9
10
# File 'lib/packet/client/projects.rb', line 8

def get_project(id, *args)
  Packet::Project.new(get("projects/#{id}", *args).body, self)
end

#list_projects(*args) ⇒ Object



4
5
6
# File 'lib/packet/client/projects.rb', line 4

def list_projects(*args)
  get('projects', *args).body['projects'].map { |p| Packet::Project.new(p, self) }
end

#update_project(project) ⇒ Object



18
19
20
21
22
# File 'lib/packet/client/projects.rb', line 18

def update_project(project)
  patch("projects/#{project.id}", project.to_hash).tap do |response|
    project.update_attributes(response.body)
  end
end