Skip to content

Commit

Permalink
Some refactoring, added test for graceful_pluralization
Browse files Browse the repository at this point in the history
  • Loading branch information
bmaland committed Apr 29, 2009
1 parent 94c50d9 commit cd67dbf
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
20 changes: 10 additions & 10 deletions generators/no_fuzz/no_fuzz_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ def manifest
end

private
def local_custom_name
class_name.underscore.downcase
end

def gracefully_pluralize(str)
str.pluralize if ActiveRecord::Base.pluralize_table_names
end

def local_assigns
returning(assigns = {}) do
assigns[:class_name] = local_custom_name.classify
assigns[:class_name] = class_name.underscore.downcase.classify
assigns[:migration_class_name] = "CreateTrigramsTableFor#{assigns[:class_name]}"
assigns[:table_name] = gracefully_pluralize(local_custom_name + "_trigram")
assigns[:table_name] = gracefully_pluralize(class_name.underscore.downcase + "_trigram")
assigns[:foreign_key] = (class_name.underscore.downcase + "_id")
end
end
end

module GeneratorHelpers
def gracefully_pluralize(str)
ActiveRecord::Base.pluralize_table_names ? str.pluralize : str
end
end

NoFuzzGenerator.send(:include, GeneratorHelpers)
14 changes: 14 additions & 0 deletions test/no_fuzz_test.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
require File.dirname(__FILE__) + '/test_helper.rb'
require 'rails_generator'
require 'rails_generator/scripts/generate'
require 'generators/no_fuzz/no_fuzz_generator'

class NoFuzzTest < ActiveSupport::TestCase

Expand All @@ -22,3 +25,14 @@ def test_populating_and_deleting_trigram_index
end

end

class GeneratorHelpersTest < Test::Unit::TestCase
include GeneratorHelpers

def test_graceful_pluralization
ActiveRecord::Base.pluralize_table_names = false
assert_equal "chicken", gracefully_pluralize("chicken")
ActiveRecord::Base.pluralize_table_names = true
assert_equal "chickens", gracefully_pluralize("chicken")
end
end

0 comments on commit cd67dbf

Please sign in to comment.