Module: NsOptions::Proxy::ProxyMethods

Defined in:
lib/ns-options/proxy.rb

Instance Method Summary collapse

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

Returns:



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

Returns:



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

Returns:



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

Returns:



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

Returns:



98
# File 'lib/ns-options/proxy.rb', line 98

def valid?(*args, &block);         __proxy_options__.valid?(*args, &block);         end