# File lib/apipie/dsl_definition.rb, line 106
    def method_added(method_name) #:doc:
      super

      return unless Apipie.active_dsl?
      return unless Apipie.apipie_provided?

      # remove method description if exists and create new one
      Apipie.remove_method_description(self, method_name)
      description = Apipie.define_method_description(self, method_name)

      # redefine method only if validation is turned on
      if Apipie.configuration.validate == true

        old_method = instance_method(method_name)

        define_method(method_name) do |*args|

          if Apipie.configuration.validate == true
            description.params.each do |_, param|

              # check if required parameters are present
              if param.required && !params.has_key?(param.name)
                raise ParamMissing.new(param.name)
              end

              # params validations
              if params.has_key?(param.name)
                param.validate(params["#{param.name}""#{param.name}"])
              end

            end
          end

          # run the original method code
          old_method.bind(self).call(*args)
        end

      end

    end