ardb 0.27.3 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -7
  2. data/Gemfile +4 -5
  3. data/README.md +252 -3
  4. data/ardb.gemspec +8 -8
  5. data/bin/ardb +1 -1
  6. data/lib/ardb.rb +155 -72
  7. data/lib/ardb/adapter/base.rb +67 -47
  8. data/lib/ardb/adapter/mysql.rb +3 -19
  9. data/lib/ardb/adapter/postgresql.rb +33 -37
  10. data/lib/ardb/adapter/sqlite.rb +7 -16
  11. data/lib/ardb/adapter_spy.rb +58 -92
  12. data/lib/ardb/cli.rb +18 -226
  13. data/lib/ardb/{clirb.rb → cli/clirb.rb} +16 -18
  14. data/lib/ardb/cli/commands.rb +365 -0
  15. data/lib/ardb/db_tests.rb +2 -4
  16. data/lib/ardb/default_order_by.rb +3 -13
  17. data/lib/ardb/migration.rb +18 -20
  18. data/lib/ardb/record_spy.rb +7 -26
  19. data/lib/ardb/relation_spy.rb +0 -6
  20. data/lib/ardb/require_autoloaded_active_record_files.rb +103 -58
  21. data/lib/ardb/test_helpers.rb +2 -5
  22. data/lib/ardb/use_db_default.rb +4 -15
  23. data/lib/ardb/version.rb +1 -1
  24. data/script/determine_autoloaded_active_record_files.rb +11 -8
  25. data/test/helper.rb +9 -6
  26. data/test/support/factory.rb +17 -2
  27. data/test/support/fake_schema.rb +5 -0
  28. data/test/support/postgresql/migrations/.keep +0 -0
  29. data/test/support/postgresql/schema.rb +2 -0
  30. data/test/support/postgresql/setup_test_db.rb +51 -0
  31. data/test/support/relative_require_test_db_file.rb +2 -0
  32. data/test/support/require_test_db_file.rb +1 -0
  33. data/test/system/.keep +0 -0
  34. data/test/unit/adapter/base_tests.rb +163 -75
  35. data/test/unit/adapter/mysql_tests.rb +4 -20
  36. data/test/unit/adapter/postgresql_tests.rb +20 -28
  37. data/test/unit/adapter/sqlite_tests.rb +9 -12
  38. data/test/unit/adapter_spy_tests.rb +48 -71
  39. data/test/unit/ardb_tests.rb +338 -38
  40. data/test/unit/cli_tests.rb +334 -225
  41. data/test/unit/db_tests_tests.rb +3 -6
  42. data/test/unit/default_order_by_tests.rb +4 -8
  43. data/test/unit/migration_tests.rb +20 -17
  44. data/test/unit/record_spy_tests.rb +18 -23
  45. data/test/unit/relation_spy_tests.rb +17 -46
  46. data/test/unit/test_helpers_tests.rb +5 -20
  47. data/test/unit/use_db_default_tests.rb +9 -13
  48. metadata +111 -100
  49. data/lib/ardb/has_slug.rb +0 -107
  50. data/lib/ardb/migration_helpers.rb +0 -77
  51. data/lib/ardb/root_path.rb +0 -15
  52. data/test/unit/config_tests.rb +0 -58
  53. data/test/unit/has_slug_tests.rb +0 -341
  54. data/test/unit/migration_helpers_tests.rb +0 -59
@@ -1,59 +0,0 @@
1
- require 'assert'
2
- require 'ardb/migration_helpers'
3
-
4
- module Ardb::MigrationHelpers
5
-
6
- class UnitTests < Assert::Context
7
- desc "Ardb migration helpers"
8
- subject{ Ardb::MigrationHelpers }
9
-
10
- should have_imeths :foreign_key, :drop_foreign_key, :remove_column_with_fk
11
-
12
- end
13
-
14
- class ForeignKeyTests < UnitTests
15
- desc "ForeignKey handler"
16
- setup do
17
- @fk = ForeignKey.new('fromtbl', 'fromcol', 'totbl')
18
- end
19
- subject{ @fk }
20
-
21
- should have_readers :from_table, :from_column, :to_table, :to_column
22
- should have_readers :name, :adapter
23
- should have_imeths :add_sql, :drop_sql
24
-
25
- should "know its from table/column and to table" do
26
- assert_equal 'fromtbl', subject.from_table
27
- assert_equal 'fromcol', subject.from_column
28
- assert_equal 'totbl', subject.to_table
29
- end
30
-
31
- should "default its to column" do
32
- assert_equal 'id', subject.to_column
33
- end
34
-
35
- should "default its name" do
36
- exp_name = "fk_fromtbl_fromcol"
37
- assert_equal exp_name, subject.name
38
- end
39
-
40
- should "use Ardb's config db adapter" do
41
- exp_adapter = Ardb::Adapter.send(Ardb.config.db.adapter)
42
- assert_equal exp_adapter, subject.adapter
43
- end
44
-
45
- should "generate appropriate foreign key sql" do
46
- exp_add_sql = "ALTER TABLE fromtbl"\
47
- " ADD CONSTRAINT fk_fromtbl_fromcol"\
48
- " FOREIGN KEY (fromcol)"\
49
- " REFERENCES totbl (id)"
50
- assert_equal exp_add_sql, subject.add_sql
51
-
52
- exp_drop_sql = "ALTER TABLE fromtbl"\
53
- " DROP CONSTRAINT fk_fromtbl_fromcol"
54
- assert_equal exp_drop_sql, subject.drop_sql
55
- end
56
-
57
- end
58
-
59
- end