Skip to content

Commit 9b37be7

Browse files
committed
Create the task resource.
1 parent d3cacd2 commit 9b37be7

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

lib/freeagent.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ module FreeAgent
1010

1111
require_relative 'freeagent/contact'
1212
require_relative 'freeagent/project'
13+
require_relative 'freeagent/task'
1314
class << self
1415
attr_accessor :environment
1516
attr_accessor :debug

lib/freeagent/task.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module FreeAgent
2+
class Task < Resource
3+
resource :task
4+
5+
resource_methods :find, :filter, :update, :delete
6+
7+
attr_accessor :project, :name, :is_billable, :billing_period, :status
8+
9+
decimal_accessor :billing_rate
10+
11+
decimal_accessor :created_at, :updated_at
12+
13+
# FIXME the create action on the Task resource does a POST to
14+
# https://api.freeagent.com/v2/tasks?project=:project which is
15+
# inconsistent with the rest of the API.
16+
def self.create(attributes = {})
17+
raise FreeAgent::NotImplemented.new("Opps creating tasks not implemented - see source for details")
18+
end
19+
20+
def self.find_by_project(project)
21+
Task.filter(:project => project)
22+
end
23+
end
24+
end

0 commit comments

Comments
 (0)