module Sequel::Plugins::Uuid

Public Class Methods

configure(model, columns, opts={}) click to toggle source
# File lib/sequel/plugins/uuid.rb, line 10
def self.configure(model, columns, opts={})
  columns = Array(columns)
  set_model_prefix(opts[:prefix], model) if opts[:prefix]
  model.instance_eval do
    @uuid_prefix = opts[:prefix]
    @uuid_fields ||= Set.new
    columns.each do |c|
      @uuid_fields << c
    end
  end
end
model_for_prefix(prefix) click to toggle source
# File lib/sequel/plugins/uuid.rb, line 22
def self.model_for_prefix(prefix)
  Hash(@model_prefixes)[prefix]
end
set_model_prefix(prefix, model) click to toggle source
# File lib/sequel/plugins/uuid.rb, line 26
def self.set_model_prefix(prefix, model)
  existing = model_for_prefix prefix
  if existing
  raise ExistingModelPrefixError.new("The prefix '#{prefix}' is already in use by #{existing}")
  end
  @model_prefixes ||= {}
  @model_prefixes[prefix] = model
end