Files
fn-serverless/examples/hello/ruby
C Cirello 4505811fb0 fn: improve docs (#377)
Continues #359
2016-12-03 11:50:25 +01:00
..
2016-12-03 11:50:25 +01:00

Quick Example for a Ruby Function (4 minutes)

This example will show you how to test and deploy a Ruby function to IronFunctions.

# create your func.yaml file
fn init <YOUR_DOCKERHUB_USERNAME>/hello
# install dependencies, we need the json gem to run this
docker run --rm -v "$PWD":/worker -w /worker iron/ruby:dev bundle install --standalone --clean
# build the function
fn build
# test it
cat hello.payload.json | fn run
# push it to Docker Hub
fn push
# Create a route to this function on IronFunctions
fn routes create myapp /hello

Now surf to: http://localhost:8080/r/myapp/hello

Dependencies

Create a Gemfile file in your function directory, then run:

docker run --rm -v "$PWD":/worker -w /worker iron/ruby:dev bundle install --standalone --clean

Ruby doesn't pick up the gems automatically, so you'll have to add this to the top of your func.rb file:

require_relative 'bundle/bundler/setup'

Open func.rb to see it in action.

To update dependencies:

docker run --rm -v "$PWD":/worker -w /worker iron/ruby:dev bundle update
# then install again to vendor them
docker run --rm -v "$PWD":/worker -w /worker iron/ruby:dev bundle update