everyday_thor_util 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/everyday_thor_util/plugin-helper.rb +20 -0
- data/lib/everyday_thor_util/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffc5ff63f2ce4542d3a5c0a10e163d3d0f1b241e
|
4
|
+
data.tar.gz: a941a5678a0e779462fcf59abf994221d44621b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f0c50e48862fbc77bacb630d4186fca3200e634ce58379cede6cb5e0918a907d1296c0d7b44d6e5184f219330ac73f1c804fcaa4928f96119a570e26572848c
|
7
|
+
data.tar.gz: f39774194f35caa001285f6acacb15ad3d39931bf105521752ac2eff09db38d9320dc9d254981123a8dbb06ab4531042d1f001d3cd409be11f8f9e6fc0889d8f
|
@@ -8,6 +8,9 @@ class Thor
|
|
8
8
|
def create_method(name, &block)
|
9
9
|
self.send(:define_method, name, &block)
|
10
10
|
end
|
11
|
+
def dup_method(new_name, old_name)
|
12
|
+
self.send(:alias_method, new_name, old_name)
|
13
|
+
end
|
11
14
|
end
|
12
15
|
end
|
13
16
|
|
@@ -44,6 +47,7 @@ module EverydayThorUtil
|
|
44
47
|
desc = v[:options][:desc]
|
45
48
|
long_desc = v[:options][:long_desc]
|
46
49
|
name = v[:options][:name]
|
50
|
+
aliases = v[:options][:aliases]
|
47
51
|
if id && name
|
48
52
|
has_children = list.any? { |v2| v2[:options][:parent] == id }
|
49
53
|
if has_children
|
@@ -59,12 +63,28 @@ module EverydayThorUtil
|
|
59
63
|
parent_class.desc short_desc, desc if short_desc && desc
|
60
64
|
parent_class.long_desc long_desc if long_desc
|
61
65
|
parent_class.subcommand name, command_class
|
66
|
+
aliases.each { |a|
|
67
|
+
command_class2 = Class.new(Thor)
|
68
|
+
command_class2.namespace a
|
69
|
+
Plugins.get flag_symbol, command_class2, id, true
|
70
|
+
Plugins.get command_symbol, command_class2, id
|
71
|
+
Plugins.get flag_symbol, parent_class, id, false
|
72
|
+
parent_class.desc short_desc.gsub(/^#{name}/, a), desc if short_desc && desc
|
73
|
+
parent_class.long_desc long_desc if long_desc
|
74
|
+
parent_class.subcommand a, command_class2
|
75
|
+
} if aliases
|
62
76
|
end
|
63
77
|
elsif v[:block]
|
64
78
|
Plugins.get flag_symbol, parent_class, id, false
|
65
79
|
parent_class.desc short_desc, desc if short_desc && desc
|
66
80
|
parent_class.long_desc long_desc if long_desc
|
67
81
|
parent_class.create_method(name.to_sym, &v[:block])
|
82
|
+
aliases.each { |a|
|
83
|
+
Plugins.get flag_symbol, parent_class, id, false
|
84
|
+
parent_class.desc short_desc.gsub(/^#{name}/, a), desc if short_desc && desc
|
85
|
+
parent_class.long_desc long_desc if long_desc
|
86
|
+
parent_class.dup_method a.to_sym, name.to_sym
|
87
|
+
} if aliases
|
68
88
|
end
|
69
89
|
end
|
70
90
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: everyday_thor_util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Henderson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|