Module: Datasource::Adapters::Sequel::DatasourceGenerator

Included in:
Datasource
Defined in:
lib/datasource/adapters/sequel.rb

Instance Method Summary collapse

Instance Method Details

#From(klass) ⇒ Object



233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'lib/datasource/adapters/sequel.rb', line 233

def From(klass)
  if klass.ancestors.include?(::Sequel::Model)
    Class.new(Datasource::Base) do
      attributes *klass.columns
      associations *klass.associations

      define_singleton_method(:orm_klass) do
        klass
      end

      define_singleton_method(:default_adapter) do
        Datasource::Adapters::Sequel
      end

      define_singleton_method(:primary_key) do
        klass.primary_key
      end
    end
  else
    super if defined?(super)
  end
end