Module: Tanuki::Argument
- Defined in:
- lib/tanuki/argument.rb,
lib/tanuki/argument/base.rb,
lib/tanuki/argument/string.rb,
lib/tanuki/argument/integer.rb,
lib/tanuki/argument/integer_range.rb
Overview
Tanuki::Argument contains basic classes and methods for controller arguments.
Defined Under Namespace
Classes: Base, Integer, IntegerRange, String
Class Method Summary collapse
-
.delete(klass) ⇒ Object
Removes argument association for a given type class
klass. -
.store(klass, arg_class) ⇒ Object
(also: [])
Associates a given type class
klasswith an argument classarg_class. -
.to_argument(obj, *args) ⇒ Object
Converts a given type object
objto an argument object with optionalargs.
Class Method Details
.delete(klass) ⇒ Object
Removes argument association for a given type class klass.
16 17 18 |
# File 'lib/tanuki/argument.rb', line 16 def delete(klass) @assoc.delete(klass) end |
.store(klass, arg_class) ⇒ Object Also known as: []
Associates a given type class klass with an argument class arg_class.
21 22 23 24 |
# File 'lib/tanuki/argument.rb', line 21 def store(klass, arg_class) warn "Tanuki::Argument::Base is not an ancestor of `#{arg_class}'" unless arg_class.ancestors.include? Argument::Base @assoc[klass] = arg_class end |
.to_argument(obj, *args) ⇒ Object
Converts a given type object obj to an argument object with optional args.
29 30 31 32 33 34 35 |
# File 'lib/tanuki/argument.rb', line 29 def to_argument(obj, *args) if @assoc.include?(klass = obj.class) @assoc[klass].new(obj, *args) else Argument::String.new(obj.to_s) end end |