{"repo":"bigcommerce/gruf","free":true,"listed":false,"github":"https://github.com/bigcommerce/gruf","clone":"git clone https://github.com/bigcommerce/gruf.git","description":"gRPC Ruby Framework","language":"Ruby","stars":650,"topics":["grpc","ruby","protobuf","rails","gruf","grpc-ruby-framework","grpc-services"],"license":"MIT","category":"networking-infra","readme_excerpt":"gruf - gRPC Ruby Framework gruf is a Ruby framework that wraps the gRPC Ruby library to provide a more streamlined integration into Ruby and Ruby on Rails applications. It provides an abstracted server and client for gRPC services, along with other tools to help get gRPC services in Ruby up fast and efficiently at scale. Some of its features include: Abstracted controllers with request context support Full interceptors with timing and unified request context support Robust client error handling and metadata transport abilities Server authentication via interceptors, with basic auth with multiple key support built in TLS support for client-server auth, though we recommend using linkerd instead Error data serialization in output metadata to allow fine-grained error handling in the transport while still preserving gRPC BadStatus codes Server and client execution timings in responses gruf currently has active support for gRPC 1.10.x+. gruf is compatible and tested with Ruby 3.x-4.0. gruf is also not Rails-specific, and can be used in any Ruby framework (such as Grape or dry-rb, for instance). Getting Started Please see the gruf wiki for detailed information on getting started using gruf. Demo Rails App There is a demonstration Rails application here you can view and clone that shows how to integrate Gruf into an existing Rails application. License Copyright (c) 2017-present, BigCommerce Pty. Ltd. All rights reserved Permission is hereby granted, free of charge, to any person obta","default_branch":null,"files":null,"tree":[],"storefront":"/r/bigcommerce","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bigcommerce/gruf/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}