sequel_migration_builder 0.0.1 → 0.0.2

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -102,7 +102,7 @@ module Sequel
102
102
  # Generates an individual create_table statement.
103
103
  #
104
104
  def create_table_statement(table_name, table)
105
- add_line "create_table #{table_name.inspect} do"
105
+ add_line "create_table #{table_name.inspect}#{options_str(table)} do"
106
106
  indent do
107
107
  table[:columns].map {|c| Schema::DbColumn.build_from_hash(c) }.each do |column|
108
108
  add_line column.define_statement
@@ -119,6 +119,10 @@ module Sequel
119
119
 
120
120
  attr_reader :result
121
121
 
122
+ def options_str(table)
123
+ ", " + table[:table_options].inspect.gsub(/^\{|\}$/,'').gsub("=>", " => ") if table[:table_options]
124
+ end
125
+
122
126
  def table_names(tables)
123
127
  tables.keys.map {|n| n.to_s }.sort.map {|n| n.to_sym }
124
128
  end
@@ -89,6 +89,23 @@ END
89
89
  should == expected.strip
90
90
  end
91
91
 
92
+ it "should add the table options do the create_table statement" do
93
+ mock_db = mock(:database)
94
+ mock_db.should_receive(:tables).at_least(:once).and_return([])
95
+ table = {
96
+ :table_options => {:engine => "myisam"},
97
+ :columns => [{:name => :foo, :column_type => :integer}]
98
+ }
99
+
100
+ expected = <<-END
101
+ create_table :example_table, :engine => "myisam" do
102
+ integer :foo, :null => false
103
+ end
104
+ END
105
+
106
+ Sequel::MigrationBuilder.new(mock_db).create_table_statement(:example_table, table).join("\n").
107
+ should == expected.strip
108
+ end
92
109
 
93
110
  context "when a table needs to be altered" do
94
111
  before :each do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Roland Swingler
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-06-13 00:00:00 +01:00
17
+ date: 2010-06-15 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -65,7 +65,6 @@ files:
65
65
  - lib/sequel/schema/alter_table_operations.rb
66
66
  - lib/sequel/schema/db_column.rb
67
67
  - lib/sequel/schema/db_schema_parser.rb
68
- - sequel_migration_builder.gemspec
69
68
  - spec/alter_table_operations_spec.rb
70
69
  - spec/db_column_spec.rb
71
70
  - spec/db_schema_parser_spec.rb
@@ -1,67 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{sequel_migration_builder}
8
- s.version = "0.0.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Roland Swingler"]
12
- s.date = %q{2010-06-13}
13
- s.description = %q{Build Sequel Migrations based on the differences between two schemas}
14
- s.email = %q{roland.swingler@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/sequel/migration_builder.rb",
27
- "lib/sequel/schema/alter_table_operations.rb",
28
- "lib/sequel/schema/db_column.rb",
29
- "lib/sequel/schema/db_schema_parser.rb",
30
- "sequel_migration_builder.gemspec",
31
- "spec/alter_table_operations_spec.rb",
32
- "spec/db_column_spec.rb",
33
- "spec/db_schema_parser_spec.rb",
34
- "spec/migration_builder_spec.rb",
35
- "spec/spec.opts",
36
- "spec/spec_helper.rb"
37
- ]
38
- s.homepage = %q{http://github.com/knaveofdiamonds/sequel_migration_builder}
39
- s.rdoc_options = ["--charset=UTF-8"]
40
- s.require_paths = ["lib"]
41
- s.rubygems_version = %q{1.3.6}
42
- s.summary = %q{Build Sequel Migrations based on the differences between two schemas}
43
- s.test_files = [
44
- "spec/alter_table_operations_spec.rb",
45
- "spec/db_column_spec.rb",
46
- "spec/db_schema_parser_spec.rb",
47
- "spec/migration_builder_spec.rb",
48
- "spec/spec_helper.rb"
49
- ]
50
-
51
- if s.respond_to? :specification_version then
52
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
- s.specification_version = 3
54
-
55
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
56
- s.add_runtime_dependency(%q<sequel>, [">= 3.12.0"])
57
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
58
- else
59
- s.add_dependency(%q<sequel>, [">= 3.12.0"])
60
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
61
- end
62
- else
63
- s.add_dependency(%q<sequel>, [">= 3.12.0"])
64
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
65
- end
66
- end
67
-