Sha256: 5660d622db371ddd017d9afd8828925a6e64c281b49a26a6d6461d7d1475a3bb
Contents?: true
Size: 1.72 KB
Versions: 2
Compression:
Stored size: 1.72 KB
Contents
require 'active_model' module Sequel module Plugins # The ActiveModel plugin makes Sequel::Model objects the # pass the ActiveModel::Lint tests, which should # hopefully mean full ActiveModel compliance. This should # allow the full support of Sequel::Model objects in Rails 3. # This plugin requires active_model in order to use # ActiveModel::Naming. module ActiveModel ClassMethods = ::ActiveModel::Naming module InstanceMethods # The default string to join composite primary keys with in to_param. DEFAULT_TO_PARAM_JOINER = '-'.freeze # Record that an object was destroyed, for later use by # destroyed? def after_destroy super @destroyed = true end # False if the object is new? or has been destroyed, true otherwise. def persisted? !new? && @destroyed != true end # An array of primary key values, or nil if the object is not persisted. def to_key if persisted? primary_key.is_a?(Symbol) ? [pk] : pk end end # With the ActiveModel plugin, Sequel model objects are already # compliant, so this returns self. def to_model self end # An string representing the object's primary key. For composite # primary keys, joins them with to_param_joiner. def to_param if k = to_key k.join(to_param_joiner) end end private # The string to use to join composite primary key param strings. def to_param_joiner DEFAULT_TO_PARAM_JOINER end end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
sequel-3.11.0 | lib/sequel/plugins/active_model.rb |
viking-sequel-3.10.0 | lib/sequel/plugins/active_model.rb |