Sha256: 59a412f7881539c76c9b68a0aac97fcf954f403550c3b36a667c7d565896ec49

Contents?: true

Size: 715 Bytes

Versions: 18

Compression:

Stored size: 715 Bytes

Contents

class Site
  include DataMapper::Resource
  include DataMapper::Timestamp
  
  # Schema
  property :id, Serial
  property :subdomain, String, :nullable => :false, :length => (1..40), :unique => true, :format => /^[a-zA-Z0-9\-]*?$/
  property :created_at, DateTime
  property :updated_at, DateTime
  
  # Relationships/Associates
  has n, :users, :order => [:login.asc]
  
  # Validations
  validates_with_method :check_subdomain
  
  ReservedSubdomains = %w[backstage admin blog dev ftp mail email pop pop3 imap smtp stage stats status www]
  def check_subdomain
    if ReservedSubdomains.include?(self.subdomain)
      [false, "Subdomain '#{self.subdomain}' is reserved."]
    else
      true
    end
  end
  
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
scottmotte-merb_auth_slice_multisite-0.3.0 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.3.1 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.3.2 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.6.0 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.6.1 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.6.2 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.7.0 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.7.1 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.7.2 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.7.3 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.7.4 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.7.5 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.8.0 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.8.1 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.8.3 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.8.4 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.8.5 app/models/site.rb
scottmotte-merb_auth_slice_multisite-0.8.6 app/models/site.rb