Module: NsOptions::Proxy::ProxyMethods
- Defined in:
- lib/ns-options/proxy.rb
Instance Method Summary
collapse
-
#apply(*args, &block) ⇒ Object
-
#build_from(*args, &block) ⇒ Object
-
#define(*args, &block) ⇒ Object
-
#each(*args, &block) ⇒ Object
-
#has_namespace?(*args, &block) ⇒ Boolean
-
#has_option?(*args, &block) ⇒ Boolean
-
#method_missing(meth, *args, &block) ⇒ Object
for everything else, send to the proxied NAMESPACE handler at this point it really just enables dynamic options writers.
-
#namespace(name, *args, &block) ⇒ Object
(also: #ns)
-
#option(name, *args, &block) ⇒ Object
(also: #opt)
pass thru namespace methods to the proxied NAMESPACE handler.
-
#option_type_class(*args, &block) ⇒ Object
(also: #opt_type_class)
-
#required_set?(*args, &block) ⇒ Boolean
-
#reset(*args, &block) ⇒ Object
-
#respond_to?(*args) ⇒ Boolean
-
#to_hash(*args, &block) ⇒ Object
-
#valid?(*args, &block) ⇒ Boolean
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args, &block) ⇒ Object
for everything else, send to the proxied NAMESPACE handler at this point it really just enables dynamic options writers
110
111
112
113
114
115
116
|
# File 'lib/ns-options/proxy.rb', line 110
def method_missing(meth, *args, &block)
if (po = __proxy_options__) && po.respond_to?(meth.to_s)
po.send(meth.to_s, *args, &block)
else
super
end
end
|
Instance Method Details
#apply(*args, &block) ⇒ Object
100
|
# File 'lib/ns-options/proxy.rb', line 100
def apply(*args, &block); __proxy_options__.apply(*args, &block); end
|
#build_from(*args, &block) ⇒ Object
104
|
# File 'lib/ns-options/proxy.rb', line 104
def build_from(*args, &block); __proxy_options__.build_from(*args, &block); end
|
#define(*args, &block) ⇒ Object
103
|
# File 'lib/ns-options/proxy.rb', line 103
def define(*args, &block); __proxy_options__.define(*args, &block); end
|
#each(*args, &block) ⇒ Object
102
|
# File 'lib/ns-options/proxy.rb', line 102
def each(*args, &block); __proxy_options__.each(*args, &block); end
|
#has_namespace?(*args, &block) ⇒ Boolean
96
|
# File 'lib/ns-options/proxy.rb', line 96
def has_namespace?(*args, &block); __proxy_options__.has_namespace?(*args, &block); end
|
#has_option?(*args, &block) ⇒ Boolean
95
|
# File 'lib/ns-options/proxy.rb', line 95
def has_option?(*args, &block); __proxy_options__.has_option?(*args, &block); end
|
#namespace(name, *args, &block) ⇒ Object
Also known as:
ns
84
85
86
87
|
# File 'lib/ns-options/proxy.rb', line 84
def namespace(name, *args, &block)
__proxy_options__.namespace(name, *args, &block)
NsOptions::ProxyMethod.new(self, name, 'a namespace').define($stdout, caller)
end
|
#option(name, *args, &block) ⇒ Object
Also known as:
opt
pass thru namespace methods to the proxied NAMESPACE handler
78
79
80
81
|
# File 'lib/ns-options/proxy.rb', line 78
def option(name, *args, &block)
__proxy_options__.option(name, *args, &block)
NsOptions::ProxyMethod.new(self, name, 'an option').define($stdout, caller)
end
|
#option_type_class(*args, &block) ⇒ Object
Also known as:
opt_type_class
90
91
92
|
# File 'lib/ns-options/proxy.rb', line 90
def option_type_class(*args, &block)
__proxy_options__.option_type_class(*args, &block)
end
|
#required_set?(*args, &block) ⇒ Boolean
97
|
# File 'lib/ns-options/proxy.rb', line 97
def required_set?(*args, &block); __proxy_options__.required_set?(*args, &block); end
|
#reset(*args, &block) ⇒ Object
105
|
# File 'lib/ns-options/proxy.rb', line 105
def reset(*args, &block); __proxy_options__.reset(*args, &block); end
|
#respond_to?(*args) ⇒ Boolean
118
119
120
121
122
123
124
|
# File 'lib/ns-options/proxy.rb', line 118
def respond_to?(*args)
if (po = self.__proxy_options__) && po.respond_to?(args.first.to_s)
true
else
super
end
end
|
#to_hash(*args, &block) ⇒ Object
101
|
# File 'lib/ns-options/proxy.rb', line 101
def to_hash(*args, &block); __proxy_options__.to_hash(*args, &block); end
|
#valid?(*args, &block) ⇒ Boolean
98
|
# File 'lib/ns-options/proxy.rb', line 98
def valid?(*args, &block); __proxy_options__.valid?(*args, &block); end
|