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



176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/datasource/adapters/sequel.rb', line 176

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_method(:primary_key) do
        klass.primary_key
      end
    end
  else
    super if defined?(super)
  end
end