pg_comment 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +5 -1
  3. data/.rspec +2 -0
  4. data/README.markdown +16 -13
  5. data/Rakefile +37 -5
  6. data/lib/pg_comment/connection_adapters/abstract/schema_statements.rb +10 -0
  7. data/lib/pg_comment/connection_adapters/postgresql_adapter.rb +24 -0
  8. data/lib/pg_comment/migration/command_recorder.rb +15 -2
  9. data/lib/pg_comment/schema_dumper.rb +6 -0
  10. data/lib/pg_comment/version.rb +1 -1
  11. data/pg_comment.gemspec +3 -1
  12. data/spec/comments_spec.rb +42 -0
  13. data/spec/dummy/Rakefile +7 -0
  14. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  15. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  16. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  17. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  18. data/spec/dummy/app/mailers/.gitkeep +0 -0
  19. data/spec/dummy/app/models/.gitkeep +0 -0
  20. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  21. data/spec/dummy/config/application.rb +60 -0
  22. data/spec/dummy/config/boot.rb +10 -0
  23. data/spec/dummy/config/database.yml +12 -0
  24. data/spec/dummy/config/environment.rb +5 -0
  25. data/spec/dummy/config/environments/development.rb +37 -0
  26. data/spec/dummy/config/environments/production.rb +67 -0
  27. data/spec/dummy/config/environments/test.rb +37 -0
  28. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  29. data/spec/dummy/config/initializers/inflections.rb +15 -0
  30. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  31. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  32. data/spec/dummy/config/initializers/session_store.rb +8 -0
  33. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  34. data/spec/dummy/config/locales/en.yml +5 -0
  35. data/spec/dummy/config/routes.rb +58 -0
  36. data/spec/dummy/config.ru +4 -0
  37. data/spec/dummy/db/migrate/20130502030557_create_vegetables.rb +23 -0
  38. data/spec/dummy/db/schema.rb +31 -0
  39. data/spec/dummy/lib/assets/.gitkeep +0 -0
  40. data/spec/dummy/log/.gitkeep +0 -0
  41. data/spec/dummy/public/404.html +26 -0
  42. data/spec/dummy/public/422.html +26 -0
  43. data/spec/dummy/public/500.html +25 -0
  44. data/spec/dummy/public/favicon.ico +0 -0
  45. data/spec/dummy/script/rails +6 -0
  46. data/spec/lib/pg_comment/connection_adapters/abstract/schema_definitions_spec.rb +46 -0
  47. data/spec/lib/pg_comment/connection_adapters/abstract/schema_statements_spec.rb +25 -0
  48. data/spec/lib/pg_comment/connection_adapters/postgresql_adapter_spec.rb +63 -0
  49. data/spec/lib/pg_comment/migration/command_recorder_spec.rb +40 -0
  50. data/spec/lib/pg_comment/schema_dumper_spec.rb +23 -0
  51. data/spec/spec_helper.rb +16 -0
  52. metadata +75 -16
  53. data/test/fake_connection.rb +0 -9
  54. data/test/postgre_sql_adapter_test.rb +0 -91
  55. data/test/schema_dumper_test.rb +0 -42
  56. data/test/test_helper.rb +0 -16
@@ -1,91 +0,0 @@
1
- require 'test_helper'
2
-
3
- class PostgreSQLAdapterTest < Test::Unit::TestCase
4
- class Adapter
5
- attr_reader :buffer
6
- def select_results=(val)
7
- @select_results = val
8
- end
9
-
10
- def select_all(*args)
11
- @select_results
12
- end
13
-
14
- def quote_table_name(table_name)
15
- table_name
16
- end
17
-
18
- def quote_column_name(column_name)
19
- column_name
20
- end
21
-
22
- def execute(sql)
23
- @buffer ||= []
24
- @buffer << sql
25
- end
26
-
27
- include PgComment::ConnectionAdapters::PostgreSQLAdapter
28
- end
29
-
30
- def setup
31
- @adapter = Adapter.new
32
- end
33
-
34
- def test_table_comments_sql
35
- expected = [ "COMMENT ON TABLE my_table IS $$table comment$$;",
36
- "COMMENT ON TABLE my_table IS NULL;" ]
37
- @adapter.set_table_comment :my_table, 'table comment'
38
- @adapter.remove_table_comment :my_table
39
- assert_equal expected, @adapter.buffer
40
- end
41
-
42
- def test_column_comment_sql
43
- expected = [ "COMMENT ON COLUMN my_table.my_column IS $$column comment$$;",
44
- "COMMENT ON COLUMN my_table.my_column IS NULL;" ]
45
- @adapter.set_column_comment :my_table, :my_column, 'column comment'
46
- @adapter.remove_column_comment :my_table, :my_column
47
- assert_equal expected, @adapter.buffer
48
- end
49
-
50
- def test_column_comments_sql
51
- expected = [ "COMMENT ON COLUMN my_table.column1 IS $$column comment 1$$;",
52
- "COMMENT ON COLUMN my_table.column2 IS $$column comment 2$$;" ]
53
-
54
- @adapter.set_column_comments :my_table, :column1 => 'column comment 1', :column2 => 'column comment 2'
55
- assert_equal expected, @adapter.buffer
56
- end
57
-
58
- def test_sql_generation
59
- expected = [ "COMMENT ON TABLE my_table IS $$table comment$$;",
60
- "COMMENT ON COLUMN my_table.my_column IS $$column comment$$;",
61
- "COMMENT ON TABLE my_table IS NULL;",
62
- "COMMENT ON COLUMN my_table.my_column IS NULL;" ]
63
-
64
- @adapter.set_table_comment :my_table, 'table comment'
65
- @adapter.set_column_comment :my_table, :my_column, 'column comment'
66
- @adapter.remove_table_comment :my_table
67
- @adapter.remove_column_comment :my_table, :my_column
68
- assert_equal expected, @adapter.buffer
69
- end
70
-
71
- def test_comments
72
- expected = [ { 'column_name' => nil, 'comment' => 'table comment' },
73
- { 'column_name' => 'column1', 'comment' => 'column comment 1' },
74
- { 'column_name' => 'column2', 'comment' => 'column comment 2' } ]
75
- @adapter.select_results = expected
76
- results = @adapter.comments( nil )
77
- assert_not_nil results
78
- assert_equal 3, results.size, "Should have three comment rows."
79
- results.each_with_index do |comment_row, index|
80
- column_name = comment_row[0]
81
- comment = comment_row[1]
82
- assert_equal expected[index]['column_name'], column_name
83
- assert_equal expected[index]['comment'], comment
84
- end
85
- end
86
-
87
- def test_supports_comments
88
- assert_true @adapter.supports_comments?
89
- end
90
-
91
- end
@@ -1,42 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SchemaDumperTest < Test::Unit::TestCase
4
- class SchemaDumpContainer
5
- def initialize
6
- @connection = FakeConnection.new( :comments => [[nil, 'table\'s comment'],
7
- ['c1', 'column1 comment'],
8
- ['c2', 'column\'s comment']] )
9
- end
10
-
11
- def self.alias_method_chain(*args)
12
- #Does nothing
13
- end
14
-
15
- include PgComment::SchemaDumper
16
-
17
- public :dump_comments
18
- end
19
-
20
- class Stream
21
- attr_reader :stream_results
22
-
23
- def puts(str = nil)
24
- @stream_results ||= []
25
- @stream_results << str unless str.nil?
26
- end
27
- end
28
-
29
- def setup
30
- @fake_table = 'my_table'
31
- @expected = [" set_table_comment '#{@fake_table}', 'table\\'s comment'",
32
- " set_column_comment '#{@fake_table}', 'c1', 'column1 comment'",
33
- " set_column_comment '#{@fake_table}', 'c2', 'column\\'s comment'"].join("\n")
34
- end
35
-
36
- def test_dump_comments
37
- sd = SchemaDumpContainer.new
38
- stream = Stream.new
39
- sd.dump_comments @fake_table, stream
40
- assert_equal @expected, stream.stream_results[0]
41
- end
42
- end
data/test/test_helper.rb DELETED
@@ -1,16 +0,0 @@
1
- #require 'rubygems'
2
- gem 'test-unit'
3
-
4
- if require 'simplecov'
5
- SimpleCov.start do
6
- add_filter 'test/'
7
- end
8
- end
9
-
10
- require 'test/unit'
11
- require 'active_record'
12
-
13
-
14
- require 'pg_comment/connection_adapters/postgresql_adapter'
15
- require 'fake_connection'
16
- require 'pg_comment/schema_dumper'