task_manager2 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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