GitHub - ujihisa/functions-framework-ruby: FaaS (Function as a service) framework for writing portable Ruby functions | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
Skip to content

ujihisa/functions-framework-ruby

 
 

Repository files navigation

Functions Framework for Ruby Documentation Gem Version Security Scorecard

An open source framework for writing lightweight, portable Ruby functions that run in a serverless environment. Functions written to this Framework will run in many different environments, including:

The framework allows you to go from:

FunctionsFramework.http("hello") do |request|
  "Hello, world!\n"
end

To:

curl http://my-url
# Output: Hello, world!

Running on a fully-managed or self-managed serverless environment, without requiring an HTTP server or complicated request handling logic.

Features

  • Define named functions using normal Ruby constructs.
  • Invoke functions in response to requests.
  • Automatically unmarshal events conforming to the CloudEvents spec.
  • Automatically convert most legacy events from Google Cloud services such as Cloud Pub/Sub and Cloud Storage, to CloudEvents.
  • Spin up a local development server for quick testing.
  • Integrate with standard Ruby libraries such as Rack and Minitest.
  • Portable between serverless platforms.
  • Supports all non-end-of-life versions of Ruby.

Supported Ruby versions

This library is supported on Ruby 2.6+.

Google provides official support for Ruby versions that are actively supported by Ruby Core—that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Older versions of Ruby may still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.

Quickstart

Here is how to run a Hello World function on your local machine.

Create a Gemfile listing the Functions Framework as a dependency:

# Gemfile
source "https://rubygems.org"
gem "functions_framework", "~> 1.0"

Create a file called app.rb and include the following code. This defines a simple function called "hello".

# app.rb
require "functions_framework"

FunctionsFramework.http("hello") do |request|
  "Hello, world!\n"
end

Install the bundle, and start the framework. This spins up a local web server running your "hello" function:

bundle install
# ...installs the functions_framework gem and other dependencies
bundle exec functions-framework-ruby --target hello
# ...starts the web server in the foreground

In a separate shell, you can send requests to this function using curl:

curl http://localhost:8080
# Output: Hello, world!

Stop the server with CTRL+C.

Documentation

These guides provide additional getting-started information.

The library reference documentation can be found at: https://googlecloudplatform.github.io/functions-framework-ruby

Additional examples are available in the examples directory: https://github.com/GoogleCloudPlatform/functions-framework-ruby/blob/master/examples/

Development

The source for the Ruby Functions Framework is available on GitHub at https://github.com/GoogleCloudPlatform/functions-framework-ruby. For more information on the Functions Framework contract implemented by this framework, as well as links to Functions Frameworks for other languages, see https://github.com/GoogleCloudPlatform/functions-framework.

The Functions Framework is open source under the Apache 2.0 license. Contributions are welcome. Please see the contributing guide at https://github.com/GoogleCloudPlatform/functions-framework-ruby/blob/master/.github/CONTRIBUTING.md.

Report issues at https://github.com/GoogleCloudPlatform/functions-framework-ruby/issues.

About

FaaS (Function as a service) framework for writing portable Ruby functions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 89.1%
  • Shell 10.9%

TMZ Celebrity News – Breaking Stories, Videos & Gossip

Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

🎥 Watch TMZ Live

TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.