mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Support decimal{1,2} and decimal{1-2} and decimal{1.2} so it works fine with bash, zsh, etc, closes #4602
Conflicts: railties/test/generators/migration_generator_test.rb
This commit is contained in:
parent
c3aaacafaa
commit
1f9d6a0bf1
2 changed files with 5 additions and 5 deletions
|
@ -32,8 +32,8 @@ module Rails
|
||||||
case type
|
case type
|
||||||
when /(string|text|binary|integer)\{(\d+)\}/
|
when /(string|text|binary|integer)\{(\d+)\}/
|
||||||
return $1, :limit => $2.to_i
|
return $1, :limit => $2.to_i
|
||||||
when /decimal\{(\d+),(\d+)\}/
|
when /decimal\{(\d+)(,|\.|\-)(\d+)\}/
|
||||||
return :decimal, :precision => $1.to_i, :scale => $2.to_i
|
return :decimal, :precision => $1.to_i, :scale => $3.to_i
|
||||||
else
|
else
|
||||||
return type, {}
|
return type, {}
|
||||||
end
|
end
|
||||||
|
|
|
@ -105,14 +105,14 @@ class MigrationGeneratorTest < Rails::Generators::TestCase
|
||||||
|
|
||||||
def test_add_migration_with_attributes_index_declaration_and_attribute_options
|
def test_add_migration_with_attributes_index_declaration_and_attribute_options
|
||||||
migration = "add_title_and_content_to_books"
|
migration = "add_title_and_content_to_books"
|
||||||
run_generator [migration, "title:string{40}:index", "content:string{255}", "price:decimal{5,2}:index", "discount:decimal{3,2}:uniq"]
|
run_generator [migration, "title:string{40}:index", "content:string{255}", "price:decimal{1,2}:index", "discount:decimal{3.4}:uniq"]
|
||||||
|
|
||||||
assert_migration "db/migrate/#{migration}.rb" do |content|
|
assert_migration "db/migrate/#{migration}.rb" do |content|
|
||||||
assert_method :change, content do |up|
|
assert_method :change, content do |up|
|
||||||
assert_match(/add_column :books, :title, :string, limit: 40/, up)
|
assert_match(/add_column :books, :title, :string, limit: 40/, up)
|
||||||
assert_match(/add_column :books, :content, :string, limit: 255/, up)
|
assert_match(/add_column :books, :content, :string, limit: 255/, up)
|
||||||
assert_match(/add_column :books, :price, :decimal, precision: 5, scale: 2/, up)
|
assert_match(/add_column :books, :price, :decimal, precision: 1, scale: 2/, up)
|
||||||
assert_match(/add_column :books, :discount, :decimal, precision: 3, scale: 2/, up)
|
assert_match(/add_column :books, :discount, :decimal, precision: 3, scale: 4/, up)
|
||||||
end
|
end
|
||||||
assert_match(/add_index :books, :title/, content)
|
assert_match(/add_index :books, :title/, content)
|
||||||
assert_match(/add_index :books, :price/, content)
|
assert_match(/add_index :books, :price/, content)
|
||||||
|
|
Loading…
Reference in a new issue