Class: Unfuzzle::Milestone

Inherits:
Object
  • Object
show all
Includes:
Graft
Defined in:
lib/unfuzzle/lib/unfuzzle/milestone.rb

Overview

Milestone

A representation of an Unfuddle Milestone. Has the following attributes:

id

Unique identifier for this milestone

name

Name of the milestone

archived

The archived status of this milestone (see Milestone#archived?)

due_on

The due date for this milestone

created_at

The date/time that this milestone was created

updated_at

The date/time that this milestone was last updated

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Graft

included

Class Method Details

.find_all_by_project_id(project_id) ⇒ Object

Return a list of all milestones for a given project



27
28
29
30
# File 'lib/unfuzzle/lib/unfuzzle/milestone.rb', line 27

def self.find_all_by_project_id(project_id)
  response = Request.get("/projects/#{project_id}/milestones")
  collection_from(response.body, 'milestones/milestone')
end

.find_by_project_id_and_milestone_id(project_id, milestone_id) ⇒ Object

Find a milestone by ID for a given project



33
34
35
36
# File 'lib/unfuzzle/lib/unfuzzle/milestone.rb', line 33

def self.find_by_project_id_and_milestone_id(project_id, milestone_id)
  response = Request.get("/projects/#{project_id}/milestones/#{milestone_id}")
  new response.body
end

Instance Method Details

#archived?Boolean

Has this milestone been archived?

Returns:

  • (Boolean)


39
40
41
# File 'lib/unfuzzle/lib/unfuzzle/milestone.rb', line 39

def archived?
  archived == true
end

#past?Boolean

Does this milestone occur in the past?

Returns:

  • (Boolean)


44
45
46
# File 'lib/unfuzzle/lib/unfuzzle/milestone.rb', line 44

def past?
  due_on < Date.today
end

#ticketsObject

The collection of Tickets associated to this milestone



49
50
51
# File 'lib/unfuzzle/lib/unfuzzle/milestone.rb', line 49

def tickets
  Ticket.find_all_by_project_id_and_milestone_id(project_id, id)
end