Module: Template::Ruby

Defined in:
lib/souls/cli/create/templates/functions/ruby/app.rb,
lib/souls/cli/create/templates/functions/ruby/gemfile.rb

Class Method Summary collapse

Class Method Details

.app(file_name) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/souls/cli/create/templates/functions/ruby/app.rb', line 3

def self.app(file_name)
  <<~APP
    require "functions_framework"
    require "sinatra/base"
    require "dotenv/load"

    class App < Sinatra::Base
      get "/souls-functions-get/:name" do
        "SOULs Functions Job Done! - \#{params['name']}"
      end

      post "/souls-functions-post" do
        params = JSON.parse(request.body.read)
        "SOULs Functions Job Done! - \#{params['name']}"
      end
    end

    FunctionsFramework.http(\"#{file_name}\") do |request|
      App.call(request.env)
    end
  APP
end

.gemfile(_args) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/souls/cli/create/templates/functions/ruby/gemfile.rb', line 3

def self.gemfile(_args)
  <<~GEMFILE
    source "https://rubygems.org"

    gem "dotenv", "2.7.6"
    gem "functions_framework", "~> 0.7"
    gem "sinatra", "2.1.0"

  GEMFILE
end