clactive 0.0.12 → 0.1.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clactive.rb +4 -12
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c7e4c4ba93357a7c358eadf5cbbe467a0763d50c
4
- data.tar.gz: e516a1c1bf8f1de50a02137849a5882a4bc61831
3
+ metadata.gz: 5fbe801886dc426a98da5cf9dd0ebc68c5603e13
4
+ data.tar.gz: fe866941ea994017097781f587dfc8196ae68af3
5
5
  SHA512:
6
- metadata.gz: 2e78465a5aeb0b5065f6292110bcd4853f3c9557f13c1632d99dcfccc9051c8976faf7751611ec3cc8b62450fb056cd90433caef8d0b9cb27f889c4106e4e8e1
7
- data.tar.gz: 81c3b49f88fdbfe22ddd15f7b64ecea4e60684709999abccef0b1d336a05ef01ed98fd1c2e6967c722d34d612ee523ca0f99e32f959a117a1eca98bdaa0463cb
6
+ metadata.gz: c710cc74a92c7eb5979af5848f5ae3fdefc88d4635ef28f76b79a7fb35c26e9fe36f930875026fce65c56b5c1d80249cff524e4595fcfc872ce3bd6e25d69216
7
+ data.tar.gz: 04f3500abc11078523dc00d73f433437298b312fb69b08fed8e4898912fcf0aa2e8c4f31c6f93342099ebb0cb6597530c13d4f0ea98d8386f43ae63f2aac7650
@@ -12,8 +12,6 @@ module CLActive
12
12
  end
13
13
 
14
14
  parser = lambda do |cmd, args|
15
- start = cmd
16
-
17
15
  until args.empty?
18
16
  begin
19
17
  cmd.parse(args)
@@ -22,23 +20,24 @@ module CLActive
22
20
  return
23
21
  end
24
22
 
25
- break unless name = args.shift
23
+ name = args.shift
24
+ break if !name || !cmd.usropts.empty?
26
25
 
27
26
  unless subcmd = cmd[name]
28
27
  puts "invalid option: " << name
29
28
  return
30
29
  end
31
30
 
32
- cmd.subcmd = subcmd
33
31
  cmd = subcmd
34
32
  end
35
33
 
36
- start.run
34
+ cmd.run
37
35
  end
38
36
 
39
37
  klass_subcmd = Class.new do
40
38
  attr_reader :options
41
39
  attr_reader :subcmds
40
+ attr_reader :usropts
42
41
 
43
42
  define_method :initialize do
44
43
  @options = {}.extend(tos)
@@ -68,14 +67,9 @@ module CLActive
68
67
  argv = []
69
68
  argv << @usropts if @action.arity != 0
70
69
  self.instance_exec(*argv, &@action)
71
- subcmd.run if subcmd
72
70
  end
73
71
  end
74
72
 
75
- def subcmd=(cmd)
76
- @subcmd = cmd
77
- end
78
-
79
73
  def [](key)
80
74
  cmd = subcmds[key]
81
75
  unless cmd
@@ -97,8 +91,6 @@ module CLActive
97
91
  end
98
92
  cmd.instance_exec(&block)
99
93
  subcmds[cmd.name] = cmd if cmd.name
100
- else
101
- @subcmd
102
94
  end
103
95
  end
104
96
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clactive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tang Tianyong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-17 00:00:00.000000000 Z
11
+ date: 2013-06-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: CLActive help you to build command quickly
14
14
  email: tang3w@gmail.com
@@ -17,7 +17,7 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - lib/clactive.rb
20
- homepage: http://tang3w.com
20
+ homepage: https://github.com/tang3w/CLActive
21
21
  licenses:
22
22
  - MIT
23
23
  metadata: {}