Class: Tracker::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/pivotal-git-tracker/project.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tracker_token, project_id) ⇒ Project

Returns a new instance of Project.



8
9
10
11
12
13
14
# File 'lib/pivotal-git-tracker/project.rb', line 8

def initialize(tracker_token, project_id)
  @tracker_token = tracker_token
  @project_id = project_id

  PivotalTracker::Client.token = tracker_token
  PivotalTracker::Client.use_ssl = true
end

Instance Attribute Details

#project_idObject (readonly)

Returns the value of attribute project_id.



6
7
8
# File 'lib/pivotal-git-tracker/project.rb', line 6

def project_id
  @project_id
end

#tracker_tokenObject (readonly)

Returns the value of attribute tracker_token.



6
7
8
# File 'lib/pivotal-git-tracker/project.rb', line 6

def tracker_token
  @tracker_token
end

Instance Method Details

#accept(story) ⇒ Object



32
33
34
# File 'lib/pivotal-git-tracker/project.rb', line 32

def accept(story)
  story.update(current_state: 'accepted')
end

#add_label(story, label) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/pivotal-git-tracker/project.rb', line 36

def add_label(story, label)
  labels = (story.labels || '').split(',')
  unless labels.any?{|label| label =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/}
    labels << label
    story.update(labels: labels.join(','))
  end
end

#comment(story, server_name) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/pivotal-git-tracker/project.rb', line 44

def comment(story, server_name)
  msg = "Delivered by script to #{server_name}"

  unless story.notes.all.any?{|note| note.text == msg}
    story.notes.create(:text => msg)
  end
end

#deliver(story) ⇒ Object



28
29
30
# File 'lib/pivotal-git-tracker/project.rb', line 28

def deliver(story)
  story.update(current_state: 'delivered')
end

#deliveredObject



24
25
26
# File 'lib/pivotal-git-tracker/project.rb', line 24

def delivered
  _project.stories.all(state: 'delivered', story_type: ['bug', 'feature'])
end

#find(story_id) ⇒ Object



16
17
18
# File 'lib/pivotal-git-tracker/project.rb', line 16

def find(story_id)
  _project.stories.find(story_id)
end

#finishedObject



20
21
22
# File 'lib/pivotal-git-tracker/project.rb', line 20

def finished
  _project.stories.all(state: 'finished', story_type: ['bug', 'feature'])
end