Module: Datasource::Adapters::ActiveRecord::Model::ClassMethods

Defined in:
lib/datasource/adapters/active_record.rb

Instance Method Summary collapse

Instance Method Details

#datasource_module(&block) ⇒ Object



73
74
75
# File 'lib/datasource/adapters/active_record.rb', line 73

def datasource_module(&block)
  default_datasource.instance_exec(&block)
end

#default_datasourceObject



69
70
71
# File 'lib/datasource/adapters/active_record.rb', line 69

def default_datasource
  @default_datasource ||= Class.new(Datasource::From(self))
end

#for_serializer(serializer = nil) ⇒ Object



51
52
53
54
55
56
57
58
# File 'lib/datasource/adapters/active_record.rb', line 51

def for_serializer(serializer = nil)
  scope = if all.respond_to?(:use_datasource_serializer)
    all
  else
    all.extending(ScopeExtensions).use_datasource(default_datasource)
  end
  scope.use_datasource_serializer(serializer || Datasource::Base.consumer_adapter.get_serializer_for(Adapters::ActiveRecord.scope_to_class(scope)))
end

#with_datasource(datasource = nil) ⇒ Object



60
61
62
63
64
65
66
67
# File 'lib/datasource/adapters/active_record.rb', line 60

def with_datasource(datasource = nil)
  scope = if all.respond_to?(:use_datasource)
    all
  else
    all.extending(ScopeExtensions)
  end
  scope.use_datasource(datasource || default_datasource)
end