task_manager2 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ef7efec284f0be4fa9f3165afc5b99127b2a5b89
4
- data.tar.gz: 6145c48946dbebe2d763992b9ca8720c16a3fd32
3
+ metadata.gz: 9e1432d08f8e70af30d814d1248d3d105df18f32
4
+ data.tar.gz: b0b9a2827b57e6cf23294ade612f4eba75cac7d2
5
5
  SHA512:
6
- metadata.gz: ea22b721e382dd86e76b62d4fff11661c6179b0999719ab1052c8b99ce86852b1fbd69797e906cf8eecb1f0a22809136c2c388f9cdf40e08e80914684d78be0a
7
- data.tar.gz: ec0db92d210812e577320e92afee925a833270a5f82f8055c17cd4a7b3de7e1bdfb704eee92949db65e87dc9f92ed97bc8b1a425d64e973a2784e446998b3c7d
6
+ metadata.gz: 38d05bf3c2003559ec018dc1c942c99bdb0dd0df8384a0852105d7c4766b05a8030deae769782ca28ca59cfcdf1c39f1bf0f11748709e85dae36f611e4047248
7
+ data.tar.gz: 2439808f9fd80cb3cf9c0a9f65242bd6849bd2a04a688857946843939015225806e73122c55b71fb9d21a26dea0e3ccdfecc84bd3ca83a3c9daa35a08d991d0e
@@ -30,6 +30,14 @@ module TaskManager
30
30
  print e.message
31
31
  end
32
32
 
33
+ def self.delete(id)
34
+ task = NewTaskFile.new.delete(id)
35
+ print('Deleted task:'.colorize(:light_cyan))
36
+ print_task(task)
37
+ rescue Exception => e
38
+ print e.message
39
+ end
40
+
33
41
  def self.current
34
42
  task = CurrentTaskFile.new.current
35
43
  print('Current task:'.colorize(:light_cyan))
@@ -17,6 +17,12 @@ module TaskManager
17
17
  TaskManager.pick(options[:id])
18
18
  end
19
19
 
20
+ desc 'delete', 'Delete a task from the waiting queue'
21
+ method_option :id, aliases: '-i', desc: 'ID of the task', type: :numeric, required: true
22
+ def delete
23
+ TaskManager.delete(options[:id])
24
+ end
25
+
20
26
  desc 'current', 'Current task'
21
27
  def current
22
28
  TaskManager.current
@@ -1,16 +1,28 @@
1
1
  module TaskManager
2
2
  class NewTaskFile < TaskFile
3
3
  def pick(id)
4
- node = root_node.css('task').find { |t| t['id'].to_i == id.to_i }
5
- raise 'ID not exists'.colorize(:light_red) unless node
4
+ node = find_node(id)
6
5
  task = Task.new_from_node(node)
7
6
  yield(task) if block_given?
8
7
  handle_xml { node.remove }
9
8
  task
10
9
  end
11
10
 
11
+ def delete(id)
12
+ node = find_node(id)
13
+ task = Task.new_from_node(node)
14
+ handle_xml { node.remove }
15
+ task
16
+ end
17
+
12
18
  protected
13
19
 
20
+ def find_node(id)
21
+ node = root_node.css('task').find { |t| t['id'].to_i == id.to_i }
22
+ raise 'ID not exists'.colorize(:light_red) unless node
23
+ node
24
+ end
25
+
14
26
  def root_node
15
27
  @root_node ||= begin
16
28
  xml.css(NEW_NODE).first || begin
@@ -44,7 +44,7 @@ module TaskManager
44
44
  end
45
45
 
46
46
  def xml
47
- @xml ||= begin
47
+ @@xml ||= begin
48
48
  create_file(FILE_NAME) unless File.exists?(FILE_NAME)
49
49
  File.open(FILE_NAME, 'r') { |f| Nokogiri::XML(f) }
50
50
  end
@@ -1,3 +1,3 @@
1
1
  module TaskManager
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: task_manager2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Duc Le
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-16 00:00:00.000000000 Z
11
+ date: 2016-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler