Module: Datasource::Adapters::Sequel::Model

Extended by:
ActiveSupport::Concern
Included in:
Sequel::Model
Defined in:
lib/datasource/adapters/sequel.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#for_serializer(serializer = nil) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/datasource/adapters/sequel.rb', line 86

def for_serializer(serializer = nil)
  datasource_class = self.class.default_datasource
  pk = datasource_class.primary_key.to_sym

  scope = self.class
  .with_datasource(datasource_class)
  .for_serializer(serializer)
  .where(pk => send(pk))

  scope = yield(scope) if block_given?

  datasource = scope.get_datasource
  if datasource.can_upgrade?(self)
    datasource.upgrade_records(self).first
  else
    scope.first
  end
end