ardb 0.27.3 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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