-
Notifications
You must be signed in to change notification settings - Fork 70
/
base.rb
41 lines (33 loc) · 1.05 KB
/
base.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Apiary::Command::Base
attr_reader :args
attr_reader :options
def initialize(args=[], options={})
@args = args
@options = options
end
def self.namespace
self.to_s.split("::").last.downcase
end
attr_reader :args
attr_reader :options
def self.method_added(method)
return if self == Apiary::Command::Base
return if private_method_defined?(method)
return if protected_method_defined?(method)
# help = extract_help_from_caller(caller.first)
resolved_method = (method.to_s == "index") ? nil : method.to_s
command = [ self.namespace, resolved_method ].compact.join(":")
# banner = extract_banner(help) || command
Apiary::Command.register_command(
:klass => self,
:method => method,
:namespace => self.namespace,
:command => command
# :banner => banner.strip,
# :help => help.join("\n"),
# :summary => extract_summary(help),
# :description => extract_description(help),
# :options => extract_options(help)
)
end
end