Sha256: ec30deb6561c0fdc226553efb74af9b3ff1f5cc1fa032e039b3e027cf683f7a7
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
require 'rprogram/extensions/meta' require 'rprogram/non_option' require 'rprogram/option' module RProgram module Options def self.included(base) base.metaclass_eval do def non_options @non_options ||= {} end def has_non_option?(name) name = name.to_sym ancestors.each do |base| if base.include?(Options) return true if base.non_options.include?(name) end end return false end def get_non_option(name) name = name.to_sym ancestors.each do |base| if base.include?(Options) return base.non_options[name] if base.non_options.has_key?(name) end end return nil end def options @options ||= {} end def has_option?(name) name = name.to_sym ancestors.each do |base| if base.include?(Options) return true if base.options.has_key?(name) end end return false end def get_option(name) name = name.to_sym ancestors.each do |base| if base.include?(Options) return base.options[name] if base.options.has_key?(name) end end return nil end end end def has_non_option?(name) self.class.has_non_option?(name) end def get_non_option(name) self.class.get_non_option(name) end def has_option?(name) self.class.has_option?(name) end def get_option(name) self.class.get_option(name) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rprogram-0.0.9 | lib/rprogram/options.rb |