# File lib/meta_search/method.rb, line 71
    def initialize(name, opts ={})
      raise ArgumentError, "Name parameter required" if name.blank?
      @name = name
      @type = opts[:type] || :string
      @splat_param = opts[:splat_param] || false
      @formatter = opts[:formatter] || Proc.new {|param| param}
      if @formatter.is_a?(String)
        formatter = @formatter
        @formatter = Proc.new {|param| eval formatter}
      end
      unless @formatter.respond_to?(:call)
        raise ArgumentError, "Invalid formatter for #{name}, should be a Proc or String."
      end
      @validator = opts[:validator] || Proc.new {|param| !param.blank?}
      unless @validator.respond_to?(:call)
        raise ArgumentError, "Invalid validator for #{name}, should be a Proc."
      end
    end