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

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