Sha256: 6092308d148d1158ebc3ebd9d95363dbaad828c30712f0ac2d5269952708a181

Contents?: true

Size: 1.36 KB

Versions: 5

Compression:

Stored size: 1.36 KB

Contents

require 'active_record'
require 'sqlite3'

ActiveRecord::Base.establish_connection(
  :adapter => defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby' ? 'jdbcsqlite3' : 'sqlite3',
  :database => File.join(File.dirname(__FILE__), 'test.db')
)

class CreateSchema < ActiveRecord::Migration
  def self.up
    create_table :posts, :force => true do |t|
      t.string :title
      t.string :slug
      t.timestamps
    end

    create_table :users, :force => true do |t|
      t.string :first_name
      t.string :last_name
      t.string :slug
      t.timestamps
    end

    create_table :edges, :force => true do |t|
      t.string :name
      t.string :slug_name
    end
    create_table :comments, :force => true do |t|
      t.integer :post_id
      t.string  :title
      t.string  :slug
    end
  end
end

CreateSchema.suppress_messages do
  CreateSchema.migrate(:up)
end

class Post < ActiveRecord::Base
  has_many :comments
  has_slug 'title', :max_length => 20
end

class User < ActiveRecord::Base
  has_slug [:first_name, :last_name], :on_conflict => :append_id
end

class Edge < ActiveRecord::Base
  has_slug 'name', :slug_column => :slug_name,
                   :substitution_char => "_",
                   :downcase => false,
                   :on_conflict => :concat_random_chars
end

class Comment < ActiveRecord::Base
  belongs_to :post
  has_slug   :title, :scope => :post_id
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
slugger-0.5.0 spec/schema.rb
slugger-0.4.1 spec/schema.rb
slugger-0.4.0 spec/schema.rb
slugger-0.3.2 spec/schema.rb
slugger-0.3.1 spec/schema.rb