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



94
95
96
# File 'lib/datasource/adapters/active_record.rb', line 94

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

#default_datasourceObject



90
91
92
# File 'lib/datasource/adapters/active_record.rb', line 90

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

#for_serializer(serializer = nil) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/datasource/adapters/active_record.rb', line 72

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



81
82
83
84
85
86
87
88
# File 'lib/datasource/adapters/active_record.rb', line 81

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