Class: Bl::Milestone

Inherits:
Thor
  • Object
show all
Includes:
Requestable
Defined in:
lib/bl/milestone.rb

Instance Method Summary collapse

Methods included from Requestable

client

Constructor Details

#initializeMilestone

Returns a new instance of Milestone.



5
6
7
8
9
# File 'lib/bl/milestone.rb', line 5

def initialize(*)
  @config = Bl::Config.instance
  @url = "projects/#{@config[:project_key]}/versions"
  super
end

Instance Method Details

#add(*names) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/bl/milestone.rb', line 30

def add(*names)
  names.each do |name|
    res = client.post(
      @url,
      name: name,
      description: options[:description],
      startDate: options[:startDate],
      releaseDate: options[:releaseDate]
    )
    puts "milestone added: #{res.body.id}\t#{res.body.name}"
  end
end

#delete(*ids) ⇒ Object



56
57
58
59
60
61
# File 'lib/bl/milestone.rb', line 56

def delete(*ids)
  ids.each do |id|
    res = client.delete("#{@url}/#{id}")
    puts "milestone deleted: #{res.body.id}\t#{res.body.name}"
  end
end

#listObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/bl/milestone.rb', line 12

def list
  client.get(@url).body.each do |v|
    puts [
      v.id,
      v.projectId,
      v.name,
      v.description,
      v.startDate,
      v.releaseDueDate,
      v.archived
    ].join("\t")
  end
end

#update(*ids) ⇒ Object



48
49
50
51
52
53
# File 'lib/bl/milestone.rb', line 48

def update(*ids)
  ids.each do |id|
    res = client.patch("#{@url}/#{id}", options)
    puts "milestone updated: #{res.body.id}\t#{res.body.name}"
  end
end