class PivotalTracker::Resource::Project

Attributes

id[R]

Public Class Methods

new(data) click to toggle source
# File lib/pivotaltracker/resource/project.rb, line 8
def initialize(data)
  @id = data.fetch("id")
end

Public Instance Methods

<=>(another_project) click to toggle source
# File lib/pivotaltracker/resource/project.rb, line 20
def <=>(another_project)
  id <=> another_project.id
end
iterations() click to toggle source
# File lib/pivotaltracker/resource/project.rb, line 16
def iterations
  fetch(::PivotalTracker::Iteration::ITERATIONS_ENDPOINT, ::PivotalTracker::Resource::Iteration)
end
stories() click to toggle source
# File lib/pivotaltracker/resource/project.rb, line 12
def stories
  fetch(::PivotalTracker::Story::STORIES_ENDPOINT, ::PivotalTracker::Resource::Story)
end

Private Instance Methods

fetch(endpoint, resource_klass) click to toggle source
# File lib/pivotaltracker/resource/project.rb, line 26
def fetch(endpoint, resource_klass)
  client = PivotalTracker::API.build_client
  response = client.get(endpoint, id)
  raise NoProjectError.new(id) if response.status != 200
  ::JSON.parse(response.body).map do |data|
    resource_klass.new(data)
  end
end