Permalink
Browse files

Revert "Merge pull request #9206 from ranjaykrishna/use_define_method"

This reverts commit 1fc6876, reversing
changes made to 0268b5d.

Reason: failing test

  1) Error:
test_valid_column(ActiveRecord::ConnectionAdapters::SQLite3AdapterTest):
NoMethodError: undefined method `column' for
    test/cases/adapters/sqlite3/sqlite3_adapter_test.rb:29:in
`test_valid_column'
  • Loading branch information...
1 parent a159f47 commit 8aa4603a5adaa56c818a7bd1c0b761b4ecca3d3e @jonleighton jonleighton committed Feb 15, 2013
Showing with 18 additions and 13 deletions.
  1. +18 −13 activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -252,12 +252,15 @@ def column(name, type, options = {})
self
end
- [:string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean].each do |column_type|
- define_method column_type do |*args|
- options = args.extract_options!
- column_names = args
- column_names.each { |name| column(name, column_type, options) }
- end
+ %w( string text integer float decimal datetime timestamp time date binary boolean ).each do |column_type|
+ class_eval <<-EOV, __FILE__, __LINE__ + 1
+ def #{column_type}(*args) # def string(*args)
+ options = args.extract_options! # options = args.extract_options!
+ column_names = args # column_names = args
+ type = :'#{column_type}' # type = :string
+ column_names.each { |name| column(name, type, options) } # column_names.each { |name| column(name, type, options) }
+ end # end
+ EOV
end
# Adds index options to the indexes hash, keyed by column name
@@ -483,13 +486,15 @@ def remove_references(*args)
#
# t.string(:goat)
# t.string(:goat, :sheep)
- [:string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean].each do |column_type|
- define_method column_type do |*args|
- options = args.extract_options!
- args.each do |name|
- @base.add_column(@table_name, name, column_type, options)
- end
- end
+ %w( string text integer float decimal datetime timestamp time date binary boolean ).each do |column_type|
+ class_eval <<-EOV, __FILE__, __LINE__ + 1
+ def #{column_type}(*args) # def string(*args)
+ options = args.extract_options! # options = args.extract_options!
+ args.each do |name| # column_names.each do |name|
+ @base.add_column(@table_name, name, :#{column_type}, options) # @base.add_column(@table_name, name, :string, options)
+ end # end
+ end # end
+ EOV
end
private

0 comments on commit 8aa4603

Please sign in to comment.