Object
BinData objects accept parameters when initializing. AcceptedParameters allow a BinData class to declaratively identify accepted parameters as mandatory, optional, default or mutually exclusive.
# File lib/bindata/params.rb, line 43 def initialize(ancestor_parameters = nil) if ancestor_parameters @mandatory = ancestor_parameters.mandatory.dup @optional = ancestor_parameters.optional.dup @default = ancestor_parameters.default.dup @mutually_exclusive = ancestor_parameters.mutually_exclusive.dup else @mandatory = [] @optional = [] @default = Hash.new @mutually_exclusive = [] end end
# File lib/bindata/params.rb, line 95 def all (@mandatory + @optional + @default.keys).uniq end
# File lib/bindata/params.rb, line 73 def default(args = nil) if args to_syms(args.keys) # call for side effect of validating names args.each_pair do |param, value| @default[param.to_sym] = value end end @default end
# File lib/bindata/params.rb, line 57 def mandatory(*args) if not args.empty? @mandatory.concat(to_syms(args)) @mandatory.uniq! end @mandatory end
# File lib/bindata/params.rb, line 83 def mutually_exclusive(*args) arg1 = args.shift while not args.empty? args.each do |arg2| @mutually_exclusive.push([arg1.to_sym, arg2.to_sym]) @mutually_exclusive.uniq! end arg1 = args.shift end @mutually_exclusive end
Generated with the Darkfish Rdoc Generator 2.