Module: Sequel

Defined in:
lib/sequel_model.rb,
lib/sequel_model.rb,
lib/sequel_model/base.rb,
lib/sequel_model/hooks.rb,
lib/sequel_model/record.rb,
lib/sequel_model/schema.rb,
lib/sequel_model/caching.rb,
lib/sequel_model/plugins.rb,
lib/sequel_model/relations.rb,
lib/sequel_model/validations.rb,
lib/sequel_model/pretty_table.rb

Defined Under Namespace

Modules: Plugins, PrettyTable Classes: Model

Class Method Summary collapse

Class Method Details

.Model(source) ⇒ Object

Lets you create a Model class with its table name already set or reopen an existing Model.

Makes given dataset inherited.

Example:

class Comment < Sequel::Model(:something)
  table_name # => :something

  # ...

end


110
111
112
113
114
115
116
117
# File 'lib/sequel_model/base.rb', line 110

def self.Model(source)
  @models ||= {}
  @models[source] ||= Class.new(Sequel::Model) do
    meta_def(:inherited) do |c|
      c.set_dataset(source.is_a?(Dataset) ? source : c.db[source])
    end
  end
end