Sha256: 9849e045c37a8450b008b05c473da9eaf2b8cf24350f580b4de39d318e69e6b0

Contents?: true

Size: 633 Bytes

Versions: 1

Compression:

Stored size: 633 Bytes

Contents

if defined?(ActiveRecord)
  class ActiveRecord::Base
    yaml_as "tag:ruby.yaml.org,2002:ActiveRecord"

    def self.yaml_new(klass, tag, val)
      if ActiveRecord::VERSION::MAJOR == 3
        klass.unscoped.find(val['attributes'][klass.primary_key])
      else # Rails 2
        klass.with_exclusive_scope { klass.find(val['attributes'][klass.primary_key]) }
      end
    rescue ActiveRecord::RecordNotFound
      raise Delayed::DeserializationError, "ActiveRecord::RecordNotFound, class: #{klass} , primary key: #{val['attributes'][klass.primary_key]} "
    end

    def to_yaml_properties
      ['@attributes']
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
delayed_job-3.0.1 lib/delayed/serialization/active_record.rb