lib/fuzzily/migration.rb in fuzzily-0.0.1 vs lib/fuzzily/migration.rb in fuzzily-0.0.2

- old
+ new

@@ -1,35 +1,38 @@ require 'active_record' module Fuzzily module Migration + def self.extended(by) + by.singleton_class.class_eval do + def trigrams_table_name=(custom_name) + @trigrams_table_name = custom_name + end - def trigrams_table_name=(custom_name) - @trigrams_table_name = custom_name - end + def trigrams_table_name + @trigrams_table_name ||= :trigrams + end - def trigrams_table_name - @trigrams_table_name ||= :trigrams - end + def up + create_table trigrams_table_name do |t| + t.string :trigram, :limit => 3 + t.integer :score + t.integer :owner_id + t.string :owner_type + t.string :fuzzy_field + end - def up - create_table trigrams_table_name do |t| - t.string :trigram, :limit => 3 - t.integer :score - t.integer :owner_id - t.string :owner_type - t.string :fuzzy_field - end + add_index trigrams_table_name, + [:owner_type, :fuzzy_field, :trigram, :owner_id, :score], + :name => :index_for_match + add_index trigrams_table_name, + [:owner_type, :owner_id], + :name => :index_by_owner + end - add_index trigrams_table_name, - [:owner_type, :fuzzy_field, :trigram, :owner_id, :score], - :name => :index_for_match - add_index trigrams_table_name, - [:owner_type, :owner_id], - :name => :index_by_owner - end - - def down - drop_table trigrams_table_name + def down + drop_table trigrams_table_name + end + end end end end