Class: FreshBooks::Project
- Inherits:
-
Object
- Object
- FreshBooks::Project
- Defined in:
- lib/freshbooks.rb
Constant Summary collapse
- TYPE_MAPPINGS =
{ 'project_id' => Fixnum, 'client_id' => Fixnum, 'rate' => Float, 'tasks' => Array }
Class Method Summary collapse
Instance Method Summary collapse
- #create ⇒ Object
- #delete ⇒ Object
-
#initialize ⇒ Project
constructor
A new instance of Project.
- #update ⇒ Object
Constructor Details
#initialize ⇒ Project
Returns a new instance of Project.
498 499 500 501 |
# File 'lib/freshbooks.rb', line 498 def initialize super self.tasks ||= [] end |
Class Method Details
.delete(project_id) ⇒ Object
528 529 530 531 532 |
# File 'lib/freshbooks.rb', line 528 def self.delete(project_id) resp = FreshBooks::call_api('project.delete', 'project_id' => project_id) resp.success? end |
.get(project_id) ⇒ Object
518 519 520 521 522 |
# File 'lib/freshbooks.rb', line 518 def self.get(project_id) resp = FreshBooks::call_api('project.get', 'project_id' => project_id) resp.success? ? self.new_from_xml(resp.elements[1]) : nil end |
.list(options = {}) ⇒ Object
534 535 536 537 538 539 540 541 542 |
# File 'lib/freshbooks.rb', line 534 def self.list( = {}) resp = FreshBooks::call_api('project.list', ) return nil unless resp.success? project_elems = resp.elements[1].elements project_elems.map { |elem| self.new_from_xml(elem) } end |
Instance Method Details
#create ⇒ Object
503 504 505 506 507 508 509 510 |
# File 'lib/freshbooks.rb', line 503 def create resp = FreshBooks::call_api('project.create', 'project' => self) if resp.success? self.project_id = resp.elements[1].text.to_i end resp.success? ? self.project_id : nil end |
#delete ⇒ Object
524 525 526 |
# File 'lib/freshbooks.rb', line 524 def delete Project::delete(self.project_id) end |
#update ⇒ Object
512 513 514 515 516 |
# File 'lib/freshbooks.rb', line 512 def update resp = FreshBooks::call_api('project.update', 'project' => self) resp.success? end |