class Twigg::Pivotal::Story

Models the story resource in Pivotal Tracker.

Attributes

current_state[R]
name[R]
owned_by[R]
pivotal_id[R]
story_type[R]
url[R]

Public Class Methods

new(json) click to toggle source
# File lib/twigg-pivotal/pivotal/story.rb, line 22
def initialize(json)
  raise ArgumentError unless @pivotal_id    = json['id']
  raise ArgumentError unless @current_state = json['current_state']
  raise ArgumentError unless @story_type    = json['story_type']
  raise ArgumentError unless @name          = json['name']
  raise ArgumentError unless @url           = json['url']

  # optional (some stories don't have owners)
  @owned_by = json['owned_by']
end
stories(project_id) click to toggle source

Returns an array of all open stories for the project identified by `project_id`.

# File lib/twigg-pivotal/pivotal/story.rb, line 11
def stories(project_id)
  raise ArgumentError, "'project_id' is required" unless project_id

  results = get "projects/#{project_id}/stories",
    filter: 'state:started,finished,delivered,rejected',
    fields: 'current_state,story_type,name,url,owned_by'

  results.map { |story| new(story) }
end