75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/delayed/yaml_extensions.rb', line 75
def visit_Psych_Nodes_Scalar(object)
case object.tag
when %r{^!ruby/ActiveRecord:(.+)$}
begin
klass = resolve_class(Regexp.last_match[1])
klass.unscoped.find(object.value)
rescue ActiveRecord::RecordNotFound
raise Delayed::Backend::RecordNotFound, "Couldn't find #{klass} with id #{object.value.inspect}"
end
when "tag:ruby.yaml.org,2002:Delayed::Periodic", "!ruby/Delayed::Periodic"
Delayed::Periodic.scheduled[object.value] || raise(NameError, "job #{object.value} is no longer scheduled")
else
super
end
end
|