Update Project
Important: These docs are for the outdated Jets 5 versions and below. For the latest Jets docs: docs.rubyonjets.com
Let’s make some changes. Let’s start with manual changes. It’ll help you get to know how things work.
Change Lambda Function
The Lambda Console allows us to edit code directly with the browser. It allows us to test, debug, and learn quickly. We’ll add a puts "debugging posts#index called"
statement.
You can click Deploy to deploy the changes.
Jets Logs
You can also use the jets logs command to tail the logs in your terminal.
❯ jets logs -f
2023-10-29 18:28:02 UTC INIT_START Runtime Version: ruby:3.2.v9 Runtime Version ARN: arn:aws:lambda:us-west-2::runtime:b96ddb9b1905c3979339d7706a5f7cfda1d851593b1255eb0f15ff573c17fd28
2023-10-29 18:28:04 UTC START RequestId: 8415926a-3a58-4cbc-98cb-a8f87e008e47 Version: $LATEST
2023-10-29 18:28:04 UTC Started GET "/" for 70.132.18.80 at 2023-10-29 18:28:04 +0000
2023-10-29 18:28:04 UTC Processing Jets::WelcomeController#index
2023-10-29 18:28:04 UTC Rendering /opt/ruby/gems/3.2.0/bundler/gems/jets-3941d8f7e00f/engines/internal/app/views/jets/welcome/index.html.erb
2023-10-29 18:28:04 UTC Rendered /opt/ruby/gems/3.2.0/bundler/gems/jets-3941d8f7e00f/engines/internal/app/views/jets/welcome/index.html.erb (Duration: 5.4ms | Allocations: 13670)
2023-10-29 18:28:04 UTC Completed Status Code 200 in 0.041s
2023-10-29 18:28:04 UTC END RequestId: 8415926a-3a58-4cbc-98cb-a8f87e008e47
2023-10-29 18:28:04 UTC REPORT RequestId: 8415926a-3a58-4cbc-98cb-a8f87e008e47 Duration: 144.73 ms Billed Duration: 145 ms Memory Size: 1536 MB Max Memory Used: 168 MB Init Duration: 2361.75 ms
2023-10-29 18:28:05 UTC START RequestId: 0e483ed2-c7c9-43e3-babb-7c165c9a3365 Version: $LATEST
2023-10-29 18:28:05 UTC Started GET "/posts" for 70.132.18.147 at 2023-10-29 18:28:05 +0000
2023-10-29 18:28:05 UTC Processing PostsController#index
2023-10-29 18:28:05 UTC Parameters: {"catchall":"posts"}
2023-10-29 18:28:05 UTC debugging post#index called
2023-10-29 18:28:05 UTC Rendering layout layouts/application.html.erb
2023-10-29 18:28:05 UTC Rendering posts/index.html.erb within layouts/application
2023-10-29 18:28:06 UTC Rendered posts/index.html.erb within layouts/application (Duration: 140.2ms | Allocations: 10015)
2023-10-29 18:28:06 UTC Rendered layout layouts/application.html.erb (Duration: 179.9ms | Allocations: 22792)
2023-10-29 18:28:06 UTC Completed Status Code 200 in 0.661s
2023-10-29 18:28:06 UTC END RequestId: 0e483ed2-c7c9-43e3-babb-7c165c9a3365
2023-10-29 18:28:06 UTC REPORT RequestId: 0e483ed2-c7c9-43e3-babb-7c165c9a3365 Duration: 726.32 ms Billed Duration: 727 ms Memory Size: 1536 MB Max Memory Used: 180 MB
The jets logs command will use the Log Group from the controller Lambda function, IE: /aws/lambda/demo-dev-controller
, so we do not have to specify the name as we did in the Jets Project Job Learn Guide.
Update Code and Deploy Changes
So far, we have been making manual changes. We should codify the changes. To help see the changes, let’s make some additional changes so that it’s easy to check.
app/controllers/posts_controller.rb
class PostsController < ApplicationController
before_action :set_post, only: %i[ show update destroy ]
# GET /posts
def index
puts "debugging again posts#index called"
@posts = Post.all
render json: @posts
end
# ....
end
Deploy again
❯ jets deploy
Deploying to Lambda demo-dev app...
...
06:31:11PM UPDATE_COMPLETE AWS::CloudFormation::Stack demo-dev
Stack success status: UPDATE_COMPLETE
Time took: 1m 6s
Prewarming application.
API Gateway Endpoint: https://spsfc098x8.execute-api.us-west-2.amazonaws.com/dev/
Once changes have been deployed, confirm Lambda Source code changes.
If you still have jets logs running in a terminal, you’ll see logs tailing as you’re testing.
Next, we’ll delete the project.