Skip to content

Commit f868920

Browse files
authored
Evaluate metadata block in the context of the controller (#873)
1 parent 53e232c commit f868920

File tree

5 files changed

+6
-6
lines changed

5 files changed

+6
-6
lines changed

Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
maintenance_tasks (2.3.0)
4+
maintenance_tasks (2.3.1)
55
actionpack (>= 6.0)
66
activejob (>= 6.0)
77
activerecord (>= 6.0)

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -840,8 +840,8 @@ or email of the user who performed the maintenance task.
840840

841841
```ruby
842842
# config/initializers/maintenance_tasks.rb
843-
MaintenanceTasks.metadata = -> do
844-
{ user_email: current_user.email }
843+
MaintenanceTasks.metadata = ->(context) do
844+
{ user_email: context.current_user.email }
845845
end
846846
```
847847

app/controllers/maintenance_tasks/runs_controller.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def create(&block)
1414
name: params.fetch(:task_id),
1515
csv_file: params[:csv_file],
1616
arguments: params.fetch(:task_arguments, {}).permit!.to_h,
17-
metadata: MaintenanceTasks.metadata&.call,
17+
metadata: instance_exec(&MaintenanceTasks.metadata || -> {}),
1818
&block
1919
)
2020
redirect_to(task_path(task))

maintenance_tasks.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gem::Specification.new do |spec|
44
spec.name = "maintenance_tasks"
5-
spec.version = "2.3.0"
5+
spec.version = "2.3.1"
66
spec.author = "Shopify Engineering"
77
spec.email = "[email protected]"
88
spec.homepage = "https://github.com/Shopify/maintenance_tasks"

test/system/maintenance_tasks/runs_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class RunsTest < ApplicationSystemTestCase
2121
assert_equal "enqueued", run.status
2222
end
2323

24-
test "run a Task and log the user email" do
24+
test "run a Task and log the provided metadata" do
2525
MaintenanceTasks.metadata = -> { { user_email: "[email protected]" } }
2626
visit(maintenance_tasks_path)
2727

0 commit comments

Comments
 (0)