functions_framework 0.3.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d09fadc9facfc650793e4c6c30f8dab5f2e5909d0d068d18e0da0bd8a748115d
4
- data.tar.gz: 7b99ab480e94f1ed4eae784121030a07106451cdc1ddd0de5e5b1d7edabbe41f
3
+ metadata.gz: 5e8f0eda1f51ead6ec3bd53d711d2a7816b5077351f56bfa491311c73461a02d
4
+ data.tar.gz: 21921bddd89a66dc95245850cb475967fd5e8de7c678bf4e154d07d7a8264290
5
5
  SHA512:
6
- metadata.gz: b4cc30e0acb40f3de6e9a412b240c2f910a539d9b9e76085bcb701d605f657b5239b4bbeabf9a7f5e78c220ff4931ae34c7f21d028d4e472874308c91d26d997
7
- data.tar.gz: d059a1fc586dfb12bbd06a757abf46227f0dcfc54c8653365198b596045a0c34d3fd4d00fcddc331a19d5bb028f5e52f5684aa022136b1258ce59a31ec195bd2
6
+ metadata.gz: '08633f2559e4d787f23e2711d40ff17437e74cd9ee4589346bd3c4f567815c422cb6e2827125bad2de5d23f4e52c3a09162db609a4fd62aee4374144ae16686e'
7
+ data.tar.gz: 759e2fe6a395fe1ea53ba90bbf5026635429fbdacf161b3f87879d31753532b7ef005fbfce797c6ca599bca441f1919b4d61a508cf43877fee18090a4e8f9fec
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ### v0.5.2 / 2020-09-06
4
+
5
+ * FIXED: Use global $stderr rather than STDERR for logger
6
+ * DOCS: Fix instructions for deployment to Google Cloud Functions
7
+
8
+ ### v0.5.1 / 2020-07-20
9
+
10
+ * Updated some documentation links. No functional changes.
11
+
12
+ ### v0.5.0 / 2020-07-09
13
+
14
+ * Removed embedded CloudEvents classes and added the official CloudEvents SDK as a dependency. A `FunctionsFramework::CloudEvents` alias provides backward compatibility.
15
+
16
+ ### v0.4.1 / 2020-07-08
17
+
18
+ * Fixed unsupported signal error on Windows.
19
+ * Fixed several edge case errors in legacy event conversion.
20
+ * Generated Content-Type headers now properly quote param values if needed.
21
+ * Minor documentation updates.
22
+
23
+ ### v0.4.0 / 2020-06-29
24
+
25
+ * Dropped the legacy and largely unsupported `:event` function type. All event functions should be of type `:cloud_event`.
26
+ * Define the object context for function execution, and include an extensible context helper.
27
+ * Support for CloudEvents with specversion 0.3.
28
+ * CloudEvents now correct percent-encodes/decodes binary headers.
29
+ * CloudEvents now includes more robust RFC 2045 parsing of the Content-Type header.
30
+ * The CloudEventsError class now properly subclasses StandardError instead of RuntimeError.
31
+ * Removed redundant `_string` accessors from event classes since raw forms are already available via `[]`.
32
+ * A variety of corrections to event-related class documentation.
33
+
3
34
  ### v0.3.1 / 2020-06-27
4
35
 
5
36
  * Fixed crash when using "return" directly in a function block.
@@ -12,7 +43,7 @@
12
43
 
13
44
  ### v0.2.1 / 2020-06-25
14
45
 
15
- * The `--signature-type` check recognizes the legacy `event` type.
46
+ * The `--signature-type` check recognizes the legacy `event` type for `:cloud_event` functions.
16
47
 
17
48
  ### v0.2.0 / 2020-06-24
18
49
 
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
- # Functions Framework [![Documentation](https://img.shields.io/badge/docs-FunctionsFramework-red.svg)](https://rubydoc.info/gems/functions_framework/FunctionsFramework) [![Gem Version](https://badge.fury.io/rb/functions_framework.svg)](https://badge.fury.io/rb/functions_framework)
1
+ # Functions Framework [![Documentation](https://img.shields.io/badge/docs-FunctionsFramework-red.svg)](https://googlecloudplatform.github.io/functions-framework-ruby/latest) [![Gem Version](https://badge.fury.io/rb/functions_framework.svg)](https://badge.fury.io/rb/functions_framework)
2
2
 
3
3
  An open source framework for writing lightweight, portable Ruby functions that
4
4
  run in a serverless environment. Functions written to this Framework will run
5
5
  in many different environments, including:
6
6
 
7
- * [Google Cloud Functions](https://cloud.google.com/functions) *(in preview)*
8
- * [Cloud Run or Cloud Run for Anthos](https://cloud.google.com/run)
7
+ * [Google Cloud Functions](https://cloud.google.com/functions) *(alpha)*
8
+ * [Google Cloud Run](https://cloud.google.com/run)
9
9
  * Any other [Knative](https://github.com/knative)-based environment
10
10
  * Your local development machine
11
11
 
@@ -60,7 +60,7 @@ Create a `Gemfile` listing the Functions Framework as a dependency:
60
60
  ```ruby
61
61
  # Gemfile
62
62
  source "https://rubygems.org"
63
- gem "functions_framework", "~> 0.3"
63
+ gem "functions_framework", "~> 0.5"
64
64
  ```
65
65
 
66
66
  Create a file called `app.rb` and include the following code. This defines a
@@ -98,26 +98,26 @@ Stop the server with `CTRL+C`.
98
98
 
99
99
  These guides provide additional getting-started information.
100
100
 
101
- * **[Writing Functions](https://rubydoc.info/gems/functions_framework/file/docs/writing-functions.md)**
101
+ * **[Writing Functions](https://googlecloudplatform.github.io/functions-framework-ruby/latest/file.writing-functions.html)**
102
102
  : How to write functions that respond to HTTP requests, industry-standard
103
103
  [CloudEvents](https://cloudevents.io), as well as events sent from Google
104
104
  Cloud services such as [Pub/Sub](https://cloud.google.com/pubsub) and
105
105
  [Storage](https://cloud.google.com/storage).
106
- * **[Testing Functions](https://rubydoc.info/gems/functions_framework/file/docs/testing-functions.md)**
106
+ * **[Testing Functions](https://googlecloudplatform.github.io/functions-framework-ruby/latest/file.testing-functions.html)**
107
107
  : How to use the testing features of the Functions Framework to write local
108
108
  unit tests for your functions using standard Ruby testing frameworks such
109
109
  as [Minitest](https://github.com/seattlerb/minitest) and
110
110
  [RSpec](https://rspec.info/).
111
- * **[Running a Functions Server](https://rubydoc.info/gems/functions_framework/file/docs/running-a-functions-server.md)**
111
+ * **[Running a Functions Server](https://googlecloudplatform.github.io/functions-framework-ruby/latest/file.running-a-functions-server.html)**
112
112
  : How to use the `functions-framework-ruby` executable to run a local
113
113
  functions server.
114
- * **[Deploying Functions](https://rubydoc.info/gems/functions_framework/file/docs/deploying-functions.md)**
114
+ * **[Deploying Functions](https://googlecloudplatform.github.io/functions-framework-ruby/latest/file.deploying-functions.html)**
115
115
  : How to deploy functions to
116
116
  [Google Cloud Functions](https://cloud.google.com/functions) or
117
117
  [Google Cloud Run](https://cloud.google.com/run).
118
118
 
119
119
  The library reference documentation can be found at:
120
- https://rubydoc.info/gems/functions_framework
120
+ https://googlecloudplatform.github.io/functions-framework-ruby
121
121
 
122
122
  Additional examples are available in the `examples` directory:
123
123
  https://github.com/GoogleCloudPlatform/functions-framework-ruby/blob/master/examples/
@@ -34,7 +34,7 @@ You can run Ruby functions on Google Cloud Functions by selecting the `ruby26`
34
34
  runtime. This runtime uses a recent release of Ruby 2.6. Support for other
35
35
  versions of Ruby may be added in the future.
36
36
 
37
- > **Note:** Ruby support on Cloud Functions is currently in limited preview.
37
+ > **Note:** Ruby support on Cloud Functions is currently in limited alpha.
38
38
  > It is not yet suitable for production workloads, and support is best-effort
39
39
  > only. Access is currently limited to selected early-access users.
40
40
 
@@ -46,30 +46,39 @@ is to `bundle install` or `bundle update` and run your local tests prior to
46
46
  deploying. Cloud Functions will not accept your function unless an up-to-date
47
47
  `Gemfile.lock` is present.
48
48
 
49
- Choose a name for your function. This function name is how it will appear in the
50
- cloud console, and will also be part of the function's URL. (It's different from
51
- the name you provide when writing your function; Cloud Functions calls that name
52
- the "function target".)
49
+ Also, make sure your source file (which defines your function) is called
50
+ `app.rb`. The Functions Framework lets you choose a function source file, but
51
+ Cloud Functions currently requires you to use `app.rb`.
52
+
53
+ Decide _which_ function in the source file to invoke, that is, the name that you
54
+ used when writing the function. This is called the **target**. (Note that if you
55
+ did not specify a name for the function, it defaults to the name `function`.)
56
+
57
+ Choose a Cloud Functions **name** for your function. The **name** identifies
58
+ this function deployment (e.g. in the cloud console) and is also part of the
59
+ function's default URL. (Note: the **name** and the **target** do not have to
60
+ be the same value.)
53
61
 
54
62
  Then, issue the gcloud command to deploy:
55
63
 
56
64
  ```sh
57
- gcloud functions deploy $YOUR_FUNCTION_NAME --project=$YOUR_PROJECT_ID \
58
- --runtime=ruby26 --trigger-http --source=$YOUR_FUNCTION_SOURCE \
59
- --entry-point=$YOUR_FUNCTION_TARGET
65
+ gcloud functions deploy $YOUR_FUNCTION_NAME \
66
+ --project=$YOUR_PROJECT_ID \
67
+ --runtime=ruby26 \
68
+ --trigger-http \
69
+ --entry-point=$YOUR_FUNCTION_TARGET
60
70
  ```
61
71
 
62
- The source file defaults to `./app.rb` and the function target defaults to
63
- `function`, so those flags can be omitted if you're using the defaults. The
64
- project flag can also be omitted if you've set it as the default with
65
- `gcloud config set project`.
72
+ The `--entry-point=` flag can be omitted if the **target** has the same value
73
+ as the **name**. Additionally, the `--project` flag can be omitted if you've
74
+ set your default project using `gcloud config set project`.
66
75
 
67
76
  If your function handles events rather than HTTP requests, you'll need to
68
77
  replace `--trigger-http` with a different trigger. For details, see the
69
78
  [reference documentation](https://cloud.google.com/sdk/gcloud/reference/functions/deploy)
70
79
  for `gcloud functions deploy`.
71
80
 
72
- To update your deployment, just redeploy using the same function name.
81
+ To update your deployment, just redeploy using the same function **name**.
73
82
 
74
83
  ### Configuring Cloud Functions deployments
75
84
 
@@ -105,6 +114,12 @@ to adapt it if you have an Anthos installation.
105
114
 
106
115
  ### Building an image for your function
107
116
 
117
+ Before you can deploy to Cloud Run, make sure your bundle, and in
118
+ particular your `Gemfile.lock` file, is up to date. The easiest way to do this
119
+ is to `bundle install` or `bundle update` and run your local tests prior to
120
+ deploying. The configuration used in the Dockerfile below will not accept your
121
+ function unless an up-to-date `Gemfile.lock` is present.
122
+
108
123
  First, build a Docker image containing your function. Following is a simple
109
124
  Dockerfile that you can use as a starting point. Feel free to adjust it to the
110
125
  needs of your project:
@@ -165,7 +180,7 @@ deployed function.
165
180
 
166
181
  Note that our Dockerfile's entrypoint did not pass any source file or target
167
182
  name to the Functions Framework. If these are not specified, the Framework will
168
- use the source `.app.rb` and the target `function` by default. To use different
183
+ use the source `./app.rb` and the target `function` by default. To use different
169
184
  values, you need to set the appropriate environment variables when deploying, as
170
185
  illustrated above with the `FUNCTION_SOURCE` and `FUNCTION_TARGET` variables.
171
186
 
@@ -8,8 +8,8 @@ The Functions Framework is an open source framework for writing lightweight,
8
8
  portable Ruby functions that run in a serverless environment. Functions written
9
9
  to this Framework will run in many different environments, including:
10
10
 
11
- * [Google Cloud Functions](https://cloud.google.com/functions) *(in preview)*
12
- * [Cloud Run or Cloud Run for Anthos](https://cloud.google.com/run)
11
+ * [Google Cloud Functions](https://cloud.google.com/functions) *(alpha)*
12
+ * [Google Cloud Run](https://cloud.google.com/run)
13
13
  * Any other [Knative](https://github.com/knative)-based environment
14
14
  * Your local development machine
15
15
 
@@ -64,7 +64,7 @@ Create a `Gemfile` listing the Functions Framework as a dependency:
64
64
  ```ruby
65
65
  # Gemfile
66
66
  source "https://rubygems.org"
67
- gem "functions_framework", "~> 0.3"
67
+ gem "functions_framework", "~> 0.5"
68
68
  ```
69
69
 
70
70
  Create a file called `app.rb` and include the following code. This defines a
@@ -121,7 +121,7 @@ These guides provide additional getting-started information.
121
121
  [Google Cloud Run](https://cloud.google.com/run).
122
122
 
123
123
  The library reference documentation can be found at:
124
- https://rubydoc.info/gems/functions_framework
124
+ https://googlecloudplatform.github.io/functions-framework-ruby
125
125
 
126
126
  Additional examples are available in the GitHub repository:
127
127
  https://github.com/GoogleCloudPlatform/functions-framework-ruby/blob/master/examples/
@@ -17,9 +17,8 @@ the output. You do not need to set up (or mock) an actual server.
17
17
  The Functions Framework provides utility methods that streamline the process of
18
18
  setting up functions and the environment for testing, constructing input
19
19
  parameters, and interpreting results. These are available in the
20
- [Testing module](https://rubydoc.info/gems/functions_framework/FunctionsFramework/Testing).
21
- Generally, you can include this module in your Minitest test class or RSpec
22
- describe block.
20
+ {FunctionsFramework::Testing} module. Generally, you can include this module in
21
+ your Minitest test class or RSpec describe block.
23
22
 
24
23
  ```ruby
25
24
  require "minitest/autorun"
@@ -45,10 +44,10 @@ end
45
44
 
46
45
  To test a function, you'll need to load the Ruby file that defines the function,
47
46
  and run the function to test its results. The Testing module provides a method
48
- [load_temporary](https://rubydoc.info/gems/functions_framework/FunctionsFramework/Testing#load_temporary-instance_method),
49
- which loads a Ruby file, defining functions but only for the scope of your test.
50
- This allows your test to coexist with tests for other functions, even functions
51
- with the same name from a different Ruby file.
47
+ {FunctionsFramework::Testing#load_temporary}, which loads a Ruby file, defining
48
+ functions but only for the scope of your test. This allows your test to coexist
49
+ with tests for other functions, even functions with the same name from a
50
+ different Ruby file.
52
51
 
53
52
  ```ruby
54
53
  require "minitest/autorun"
@@ -91,8 +90,8 @@ includes helper methods that you can use to create simple requests for many
91
90
  basic cases.
92
91
 
93
92
  When you have constructed an input request, use
94
- [call_http](https://rubydoc.info/gems/functions_framework/FunctionsFramework/Testing#call_http-instance_method)
95
- to call a named function, passing the request object. This method returns a
93
+ {FunctionsFramework::Testing#call_http} to call a named function, passing the
94
+ request object. This method returns a
96
95
  [Rack::Response](https://rubydoc.info/gems/rack/Rack/Response) that you can
97
96
  assert against.
98
97
 
@@ -142,8 +141,7 @@ end
142
141
 
143
142
  Testing a CloudEvent function works similarly. The `Testing` module provides
144
143
  methods to help construct example CloudEvent objects, which can then be passed
145
- to the method
146
- [call_event](https://rubydoc.info/gems/functions_framework/FunctionsFramework/Testing#call_event-instance_method).
144
+ to the method {FunctionsFramework::Testing#call_event}.
147
145
 
148
146
  Unlike HTTP functions, event functions do not have a return value. Instead, you
149
147
  will need to test side effects. A common approach is to test logs by capturing
@@ -30,7 +30,7 @@ that returns a simple message in the HTTP response body:
30
30
  ```ruby
31
31
  require "functions_framework"
32
32
 
33
- FunctionsFramework.http("hello") do |request|
33
+ FunctionsFramework.http "hello" do |request|
34
34
  # Return the response body.
35
35
  "Hello, world!\n"
36
36
  end
@@ -51,7 +51,7 @@ request information in the response:
51
51
  ```ruby
52
52
  require "functions_framework"
53
53
 
54
- FunctionsFramework.http("request_info") do |request|
54
+ FunctionsFramework.http "request_info_example" do |request|
55
55
  # Include some request info in the response body.
56
56
  "Received #{request.method} from #{request.url}!\n"
57
57
  end
@@ -66,7 +66,7 @@ hosting environment.
66
66
  ```ruby
67
67
  require "functions_framework"
68
68
 
69
- FunctionsFramework.http("logging_example") do |request|
69
+ FunctionsFramework.http "logging_example" do |request|
70
70
  # Log some request info.
71
71
  request.logger.info "I received #{request.method} from #{request.url}!"
72
72
  # A simple response body.
@@ -106,10 +106,18 @@ framework such as Ruby on Rails, you may want to consider a solution such as
106
106
  Google Cloud Run that is tailored to larger applications. However, a lightweight
107
107
  framework such as Sinatra is sometimes useful when writing HTTP functions.
108
108
 
109
- It is easy to connect an HTTP function to a Sinatra app. Write the Sinatra app
110
- using the "modular" Sinatra interface (i.e. subclass `Sinatra::Base`), and then
111
- simply run the Sinatra app as a Rack handler from the function. Here is a basic
112
- example:
109
+ It is easy to connect an HTTP function to a Sinatra app. First, declare the
110
+ dependency on Sinatra in your `Gemfile`:
111
+
112
+ ```ruby
113
+ source "https://rubygems.org"
114
+ gem "functions_framework", "~> 0.5"
115
+ gem "sinatra", "~> 2.0"
116
+ ```
117
+
118
+ Write the Sinatra app using the "modular" Sinatra interface (i.e. subclass
119
+ `Sinatra::Base`), and then run the Sinatra app directly as a Rack handler from
120
+ the function. Here is a basic example:
113
121
 
114
122
  ```ruby
115
123
  require "functions_framework"
@@ -143,20 +151,25 @@ information about it:
143
151
  ```ruby
144
152
  require "functions_framework"
145
153
 
146
- FunctionsFramework.cloud_event("hello") do |event|
154
+ FunctionsFramework.cloud_event "hello" do |event|
147
155
  FunctionsFramework.logger.info "I received an event of type #{event.type}!"
148
156
  end
149
157
  ```
150
158
 
151
- The event parameter is a
152
- [CloudEvents V1 Event](https://rubydoc.info/gems/functions_framework/FunctionsFramework/CloudEvents/Event/V1)
153
- object. You can find detailed information about the fields of a CloudEvent from
154
- the [CloudEvents spec](https://github.com/cloudevents/spec/blob/v1.0/spec.md).
159
+ The event parameter will be either a
160
+ [CloudEvents V0.3 Event](https://cloudevents.github.io/sdk-ruby/latest/CloudEvents/Event/V0)
161
+ object ([see spec](https://github.com/cloudevents/spec/blob/v0.3/spec.md)) or a
162
+ [CloudEvents V1.0 Event](https://cloudevents.github.io/sdk-ruby/latest/CloudEvents/Event/V1)
163
+ object ([see spec](https://github.com/cloudevents/spec/blob/v1.0/spec.md)).
155
164
 
156
165
  Some Google Cloud services send events in a legacy event format that was defined
157
166
  prior to CloudEvents. The Functions Framework will convert these legacy events
158
- to an equivalent CloudEvents type, so your function will always receive a
159
- CloudEvent object when it is sent an event from Google Cloud.
167
+ to an equivalent CloudEvents V1 type, so your function will always receive a
168
+ CloudEvent object when it is sent an event from Google Cloud. The precise
169
+ mapping between legacy events and CloudEvents is not specified in detail here,
170
+ but in general, the _data_ from the legacy event will be mapped to the `data`
171
+ field in the CloudEvent, and the _context_ from the legacy event will be mapped
172
+ to equivalent CloudEvent attributes.
160
173
 
161
174
  ## Error handling
162
175
 
@@ -175,7 +188,7 @@ HTTP response yourself. For example:
175
188
  ```ruby
176
189
  require "functions_framework"
177
190
 
178
- FunctionsFramework.http("error_reporter") do |request|
191
+ FunctionsFramework.http "error_reporter" do |request|
179
192
  begin
180
193
  raise "whoops!"
181
194
  rescue RuntimeError => e
@@ -193,15 +206,14 @@ needed by the function. It must include at least one Ruby source file that
193
206
  defines functions, and can also include additional Ruby files defining classes
194
207
  and methods that assist in the function implementation.
195
208
 
196
- The "entrypoint" to the project, also called the "source", is a Ruby file. It
197
- can define any number of functions (with distinct names), although it is often
198
- good practice to create a separate Ruby file per function.
199
-
200
- By convention, the source file is often called `app.rb`, but you can give it
201
- any name. Projects can also have multiple source files that apply to different
202
- cases.
209
+ By convention, the "main" Ruby file that defines functions should be called
210
+ `app.rb` and be located at the root of the project. The path to this file is
211
+ sometimes known as the **function source**. The Functions Framework allows you
212
+ to specify an arbitrary source, but suome hosting environments (such as Google
213
+ Cloud Functions) require it to be `./app.rb`.
203
214
 
204
- A simple project might look like this:
215
+ A source file can define any number of functions (with distinct names). Each of
216
+ the names is known as a **function target**.
205
217
 
206
218
  ```
207
219
  (project directory)
@@ -222,7 +234,7 @@ A simple project might look like this:
222
234
  ```ruby
223
235
  # Gemfile
224
236
  source "https://rubygems.org"
225
- gem "functions_framework", "~> 0.3"
237
+ gem "functions_framework", "~> 0.5"
226
238
  ```
227
239
 
228
240
  ```ruby
@@ -230,7 +242,7 @@ gem "functions_framework", "~> 0.3"
230
242
  require "functions_framework"
231
243
  require_relative "lib/hello"
232
244
 
233
- FunctionsFramework.http("hello") do |request|
245
+ FunctionsFramework.http "hello" do |request|
234
246
  Hello.new(request).build_response
235
247
  end
236
248
  ```
@@ -238,7 +250,7 @@ end
238
250
  ```ruby
239
251
  # lib/hello.rb
240
252
  class Hello
241
- def initialize(request)
253
+ def initialize request
242
254
  @request = request
243
255
  end
244
256
 
@@ -14,7 +14,8 @@
14
14
 
15
15
  require "logger"
16
16
 
17
- require "functions_framework/cloud_events"
17
+ require "cloud_events"
18
+
18
19
  require "functions_framework/function"
19
20
  require "functions_framework/legacy_event_converter"
20
21
  require "functions_framework/registry"
@@ -44,10 +45,6 @@ require "functions_framework/version"
44
45
  #
45
46
  # Here is a roadmap to the internal modules in the Ruby functions framework.
46
47
  #
47
- # * {FunctionsFramework::CloudEvents} provides an implementation of the
48
- # [CloudEvents](https://cloudevents.io) specification. In particular, if
49
- # you define an event function, you will receive the event as a
50
- # {FunctionsFramework::CloudEvents::Event} object.
51
48
  # * {FunctionsFramework::CLI} is the implementation of the
52
49
  # `functions-framework-ruby` executable. Most apps will not need to interact
53
50
  # with this class directly.
@@ -74,7 +71,7 @@ require "functions_framework/version"
74
71
  #
75
72
  module FunctionsFramework
76
73
  @global_registry = Registry.new
77
- @logger = ::Logger.new ::STDERR
74
+ @logger = ::Logger.new $stderr
78
75
  @logger.level = ::Logger::INFO
79
76
 
80
77
  ##
@@ -94,6 +91,12 @@ module FunctionsFramework
94
91
  #
95
92
  DEFAULT_SOURCE = "./app.rb".freeze
96
93
 
94
+ ##
95
+ # The CloudEvents implementation was extracted to become the official
96
+ # CloudEvents SDK. This alias is left here for backward compatibility.
97
+ #
98
+ CloudEvents = ::CloudEvents
99
+
97
100
  class << self
98
101
  ##
99
102
  # The "global" registry that holds events defined by the
@@ -139,23 +142,13 @@ module FunctionsFramework
139
142
  self
140
143
  end
141
144
 
142
- ##
143
- # This is an obsolete interface that defines an event function taking two
144
- # arguments (data and context) rather than one.
145
- #
146
- # @deprecated Use {FunctionsFramework.cloud_event} instead.
147
- #
148
- def event name = DEFAULT_TARGET, &block
149
- global_registry.add_event name, &block
150
- self
151
- end
152
-
153
145
  ##
154
146
  # Define a function that responds to CloudEvents.
155
147
  #
156
148
  # You must provide a name for the function, and a block that implemets the
157
149
  # function. The block should take one argument: the event object of type
158
- # {FunctionsFramework::CloudEvents::Event}. Any return value is ignored.
150
+ # [`CloudEvents::Event`](https://cloudevents.github.io/sdk-ruby/latest/CloudEvents/Event).
151
+ # Any return value is ignored.
159
152
  #
160
153
  # ## Example
161
154
  #