It hasn't been necessary to use create_with_id since
ebc79622df
, in December 2024.
I have plans to introduce:
```ruby
def create_with_id(id, values)
obj = new(values)
obj.id = id
obj.save_changes
end
```
This will make it easier to use the same id when creating
multiple objects. The first step is removing the existing
uses of create_with_id.
30 lines
715 B
Ruby
30 lines
715 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Prog::PageNexus < Prog::Base
|
|
subject_is :page
|
|
|
|
def self.assemble(summary, tag_parts, related_resources, severity: "error", extra_data: {})
|
|
DB.transaction do
|
|
return if Page.from_tag_parts(tag_parts)
|
|
|
|
pg = Page.create(summary: summary, details: extra_data.merge({"related_resources" => Array(related_resources)}), tag: Page.generate_tag(tag_parts), severity: severity)
|
|
Strand.create(prog: "PageNexus", label: "start") { it.id = pg.id }
|
|
end
|
|
end
|
|
|
|
label def start
|
|
page.trigger
|
|
hop_wait
|
|
end
|
|
|
|
label def wait
|
|
when_resolve_set? do
|
|
page.resolve
|
|
page.destroy
|
|
pop "page is resolved"
|
|
end
|
|
|
|
nap 6 * 60 * 60
|
|
end
|
|
end
|