Returns the requested embedded resource, linked resource or field value,
 also allows to set a new field value

 @param method [String/Symbol]
 @param args [Mixed]
 @param block [Proc]
 @return [Mixed]
355064
def method_missing(method, *args, &block)
      load

      meth = method.to_s

      return get_embedded_resource(meth) if is_embedded?(meth)
      return get_linked_resource(meth) if is_link?(meth)
      return @_changed[meth[0...-1]] = args.first if meth.end_with?('=') and is_field?(meth[0...-1])
      return get_field_value(meth) if is_field?(meth)

      super(method, *args, &block)
    end
353468
def method_missing(name, *args, &block)
      if args.empty? && !block_given? && @arg_names.include?(name)
        @args[name]
      else
        super
      end
    end
1060613
def resource(*args, &block)
      options = args.last.is_a?(Hash) ? args.pop : {}
      options[:api_doc_dsl] = :resource
      options[:resource_name] = args.first.to_s
      options[:document] = :all unless options.key?(:document)
      args.push(options)
      describe(*args, &block)
    end
791715
def method_missing(method, *args, &block)
      if _resource.respond_to?(method.to_s)
        result = _resource.send(method, *args, &block)
        result.nil? ? delegate_method(method, *args, &block) : result
      else
        super
      end
    end
85619
private ResourceMethod computeMethod(ExecutableElement ee, List<ResourceArgument> arguments) {
    final String javaDoc = processingEnv.getElementUtils().getDocComment(ee);
    final Path pathAnnotation = ee.getAnnotation(Path.class);
    final Produces producesAnnotation = ee.getAnnotation(Produces.class);
    return new ResourceMethod(
        ee.getSimpleName().toString(),
        computeRequestMethod(ee),
        (pathAnnotation == null) ? null : pathAnnotation.value(),
        (producesAnnotation == null) ? null : Joiner.on(",").join(producesAnnotation.value()),
        makeTypeDescriptor(ee.getReturnType()),
        arguments,
        javaDoc);
  }
905154
def method_missing(name, *args, &block)
      if queries.key?(name.to_sym)
        query = queries[name.to_sym]
        query.proc = block if block_given?
        query.options = args.extract_options!
        return query
      end

      super
    end
636185
def let meth, &proc
      proc || raise(ArgumentError, 'block is missing')
      vars[meth] = proc
      define_method(meth) { @__ms__vars[meth] ||= self.instance_exec(&proc) }
    end
663345
def method_missing(meth, *args, &block)
      meth_str = meth.to_s

      if /^(\w+)\=$/.match(meth_str)
        _set($1, *args, &block)
      elsif args.length > 0 || block_given?
        _add(meth, *args, &block)
      elsif /^(\w+)\?$/.match(meth_str)
        !!_get($1)
      else
        _get_or_create_namespace(meth)
      end
    end
350444
def method_missing(method, *args, &block)
      return super unless method =~ /^find_(all_|last_|or_(initialize_|create_))?by_/

      result = object_class.send(method, *args, &block)
      options = args.extract_options!

      if method =~ /^find_all/
        decorate_collection(result, options)
      else
        decorate(result, options)
      end
    end
415361
protected static void lookupMethodResource(javax.naming.Context context,
            Object instance, Method method, String name)
            throws NamingException, IllegalAccessException, InvocationTargetException
    {

        if (!method.getName().startsWith("set")
                || method.getParameterTypes().length != 1
                || !method.getReturnType().getName().equals("void"))
        {
            throw new IllegalArgumentException("Invalid method resource injection annotation");
        }

        Object lookedupResource;

        if ((name != null) && (name.length() > 0))
        {
            // TODO local or global JNDI
            lookedupResource = context.lookup(JAVA_COMP_ENV + name);
        }
        else
        {
            // TODO local or global JNDI
            lookedupResource =
                    context.lookup(JAVA_COMP_ENV + instance.getClass().getName() + "/" + getFieldName(method));
        }

        boolean accessibility = method.isAccessible();
        method.setAccessible(true);
        method.invoke(instance, lookedupResource);
        method.setAccessible(accessibility);
    }
710750
private ResourceMethod interpretResourceMethod(final MethodResult methodResult, final ClassResult classResult) {
        final MethodComment methodDoc = methodResult.getMethodDoc();

        final String description = methodDoc != null ? methodDoc.getComment() : null;
        final ResourceMethod resourceMethod = new ResourceMethod(methodResult.getHttpMethod(), description);
        updateMethodParameters(resourceMethod.getMethodParameters(), classResult.getClassFields());
        updateMethodParameters(resourceMethod.getMethodParameters(), methodResult.getMethodParameters());

        addParameterDescriptions(resourceMethod.getMethodParameters(), methodDoc);
        stringParameterResolver.replaceParametersTypes(resourceMethod.getMethodParameters());

        if (methodResult.getRequestBodyType() != null) {
            resourceMethod.setRequestBody(javaTypeAnalyzer.analyze(methodResult.getRequestBodyType()));
            resourceMethod.setRequestBodyDescription(findRequestBodyDescription(methodDoc));
        }

        // add default status code due to JSR 339
        addDefaultResponses(methodResult);

        methodResult.getResponses().forEach(r -> interpretResponse(r, resourceMethod));

        addResponseComments(methodResult, resourceMethod);

        addMediaTypes(methodResult, classResult, resourceMethod);

        if (methodResult.isDeprecated() || classResult.isDeprecated() || hasDeprecationTag(methodDoc))
            resourceMethod.setDeprecated(true);

        return resourceMethod;
    }
911343
def method_missing(method_symbol, *args, &block)
      key = method_symbol.to_s
      set = key.chomp!('=')
      if set
        self[key] = args.first
      elsif self.key?(key)
        self[key]
      else
        nil
      end
    end
107235
def method_missing(method, *args, &block)
      if args.any? && args.first.is_a?(Hash)
        _links.send(method, [], &block)._expand(*args)
      elsif !Array.method_defined?(method)
        %i[_attributes _embedded _links].each do |target|
          target = send(target)
          return target.send(method, *args, &block) if target.respond_to?(method.to_s)
        end
        super
      end
    end
407996
public Method getBridgeMethodTarget(Method method) {
        scan();

        if (ivBridgeMethodMetaData == null) {
            return null;
        }

        BridgeMethodMetaData md = ivBridgeMethodMetaData.get(getNonPrivateMethodKey(method));
        return md == null ? null : md.ivTarget;
    }
956476
def method_missing(method, *args, &block)
      if controller.resource_named_route_helper_method?(method)
        self.class.send(:delegate, method, :to => :controller)
        controller.send(method, *args)
      else
        super(method, *args, &block)
      end
    end
1373166
def method_missing(meth, *args)
      if include?(meth.to_s) then
        if args.empty? then
          create_getter meth
        else
          raise ArgumentError, "wrong number of arguments (#{args.size} for 0)"
        end
      elsif meth.to_s =~ /^(.+)\?$/ and include?(root_meth = $1) then
        if args.empty? then
          !!create_getter(root_meth) #TODO duplication of logic
        else
          raise ArgumentError, "wrong number of arguments (#{args.size} for 0)"
        end
      else
        super
      end
    end
370528
public void addMethod(final String resource, final ResourceMethod method) {
        resources.putIfAbsent(resource, new HashSet<>());
        resources.get(resource).add(method);
    }