class Slurper::Story

Attributes

attributes[RW]

Public Class Methods

new(attrs={}) click to toggle source
# File lib/slurper/story.rb, line 7
def initialize(attrs={})
  self.attributes = (attrs || {}).symbolize_keys

  if attributes[:owned_by].present?
    puts "DEPRECATION WARNING: `owned_by` is no longer a supported attribute. Please change to `requested_by`."
    attributes[:requested_by] = attributes[:owned_by]
  end
end

Public Instance Methods

description() click to toggle source
# File lib/slurper/story.rb, line 39
def description
  return nil unless attributes[:description].present?
  attributes[:description].split("\n").map(&:strip).join("\n")
end
error_message() click to toggle source
# File lib/slurper/story.rb, line 33
def error_message; @response.body end
estimate() click to toggle source
# File lib/slurper/story.rb, line 36
def estimate;   attributes[:estimate]   end
labels() click to toggle source
# File lib/slurper/story.rb, line 44
def labels
  return [] unless attributes[:labels].present?
  attributes[:labels].split(',').map do |tag|
    {name: tag}
  end
end
name() click to toggle source
# File lib/slurper/story.rb, line 35
def name;       attributes[:name]       end
requested_by() click to toggle source
# File lib/slurper/story.rb, line 51
def requested_by
  attributes[:requested_by].presence || Slurper::Config.requested_by
end
requested_by_id() click to toggle source
# File lib/slurper/story.rb, line 55
def requested_by_id
  Slurper::User.find_by_name(requested_by).try(:id) if requested_by.present?
end
save() click to toggle source
# File lib/slurper/story.rb, line 27
def save
  (@response = Slurper::Client.create(self))

  @response.code == 200 or @response.code == 201
end
story_type() click to toggle source
# File lib/slurper/story.rb, line 37
def story_type; attributes[:story_type] end
to_json() click to toggle source
# File lib/slurper/story.rb, line 16
def to_json
  {
    name: name,
    description: description,
    story_type: story_type,
    labels: labels,
    estimate: estimate,
    requested_by_id: requested_by_id
  }.reject { |k,v| v.blank? }.to_json
end
valid?() click to toggle source
# File lib/slurper/story.rb, line 59
def valid?
  if name.blank?
    raise "Name is blank for story:\n#{to_json}"
  elsif !requested_by_id
    raise "Could not find requester \"#{requested_by}\" in project"
  end
end