Class: Tracker::Project
- Inherits:
-
Object
- Object
- Tracker::Project
- Defined in:
- lib/pivotal-git-tracker/project.rb
Instance Attribute Summary collapse
-
#project_id ⇒ Object
readonly
Returns the value of attribute project_id.
-
#tracker_token ⇒ Object
readonly
Returns the value of attribute tracker_token.
Instance Method Summary collapse
- #accept(story) ⇒ Object
- #add_label(story, label) ⇒ Object
- #comment(story, server_name) ⇒ Object
- #deliver(story) ⇒ Object
- #delivered ⇒ Object
- #find(story_id) ⇒ Object
- #finished ⇒ Object
-
#initialize(tracker_token, project_id) ⇒ Project
constructor
A new instance of Project.
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_id ⇒ Object (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_token ⇒ Object (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 |
#delivered ⇒ Object
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 |
#finished ⇒ Object
20 21 22 |
# File 'lib/pivotal-git-tracker/project.rb', line 20 def finished _project.stories.all(state: 'finished', story_type: ['bug', 'feature']) end |