module Datasource::Adapters::Sequel::Model::ClassMethods

Public Instance Methods

datasource_module(&block) click to toggle source
# File lib/datasource/adapters/sequel.rb, line 103
def datasource_module(&block)
  default_datasource.instance_exec(&block)
end
default_datasource() click to toggle source
# File lib/datasource/adapters/sequel.rb, line 99
def default_datasource
  @default_datasource ||= Datasource::From(self)
end
upgrade_for_serializer(records, serializer_class = nil, datasource_class = nil) { |scope| ... } click to toggle source
# File lib/datasource/adapters/sequel.rb, line 107
def upgrade_for_serializer(records, serializer_class = nil, datasource_class = nil)
  # must use filter to get a new scope
  scope = filter.with_datasource(datasource_class).for_serializer(serializer_class)
  records = Array(records)

  binding.pry if scope.datasource_get(:datasource_class).nil?

  pk = scope.datasource_get(:datasource_class).primary_key.to_sym
  if primary_keys = records.map(&pk)
    scope = scope.where(pk => primary_keys.compact)
  end

  scope = yield(scope) if block_given?

  datasource = scope.get_datasource
  if datasource.can_upgrade?(records)
    datasource.upgrade_records(records)
  else
    scope.all
  end
end