redhillonrails_core 1.1.3 → 1.2.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.
data/.gitignore CHANGED
@@ -24,3 +24,4 @@ log
24
24
  debug.log
25
25
  development
26
26
  *.db
27
+ .rvmrc
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ 1.2.0
2
+ * compatibility with mysql 0.2.X line
3
+ * quoting fixes
4
+ * proper foreign keys ordering
5
+ * views support for mysql and sqlite
1
6
  1.1.3
2
7
  * switched from jeweler to bundler
3
8
  * sorting of indexes and foreign keys on schema dumper
@@ -1,29 +1,30 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- redhillonrails_core (1.1.3)
4
+ redhillonrails_core (1.2.0)
5
5
  activerecord (>= 2)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
- activemodel (3.0.4)
11
- activesupport (= 3.0.4)
10
+ activemodel (3.0.9)
11
+ activesupport (= 3.0.9)
12
12
  builder (~> 2.1.2)
13
- i18n (~> 0.4)
14
- activerecord (3.0.4)
15
- activemodel (= 3.0.4)
16
- activesupport (= 3.0.4)
17
- arel (~> 2.0.2)
13
+ i18n (~> 0.5.0)
14
+ activerecord (3.0.9)
15
+ activemodel (= 3.0.9)
16
+ activesupport (= 3.0.9)
17
+ arel (~> 2.0.10)
18
18
  tzinfo (~> 0.3.23)
19
- activesupport (3.0.4)
20
- arel (2.0.9)
19
+ activesupport (3.0.9)
20
+ arel (2.0.10)
21
21
  builder (2.1.2)
22
22
  diff-lcs (1.1.2)
23
23
  i18n (0.5.0)
24
24
  mysql (2.8.1)
25
- mysql2 (0.2.6)
25
+ mysql2 (0.2.11)
26
26
  pg (0.10.1)
27
+ rake (0.8.7)
27
28
  rspec (2.4.0)
28
29
  rspec-core (~> 2.4.0)
29
30
  rspec-expectations (~> 2.4.0)
@@ -35,16 +36,16 @@ GEM
35
36
  sqlite3 (1.3.3)
36
37
  sqlite3-ruby (1.3.3)
37
38
  sqlite3 (>= 1.3.3)
38
- tzinfo (0.3.24)
39
+ tzinfo (0.3.29)
39
40
 
40
41
  PLATFORMS
41
42
  ruby
42
43
 
43
44
  DEPENDENCIES
44
- activerecord (>= 2)
45
45
  mysql
46
- mysql2
46
+ mysql2 (~> 0.2.11)
47
47
  pg
48
+ rake
48
49
  redhillonrails_core!
49
50
  rspec (~> 2.4.0)
50
51
  sqlite3-ruby (~> 1.3.1)
@@ -162,7 +162,12 @@ First you have to fetch sources from github as specs are not inculded in a gem.
162
162
  $ bundle exec rake spec
163
163
 
164
164
  # to run postgresql specs only
165
- $ bundle exec rake spec postgresql:spec
165
+ $ bundle exec rake spec postgresql:spec
166
+
167
+ === Support
168
+
169
+ Don't hesitate to ask questions on our mailing list.
170
+ http://groups.google.com/group/rails-db
166
171
 
167
172
  === Contributors
168
173
 
@@ -170,4 +175,5 @@ First you have to fetch sources from github as specs are not inculded in a gem.
170
175
  * François Beausoleil - https://github.com/francois
171
176
  * Greg Barnett
172
177
  * Romulo A. Ceccon - https://github.com/romuloceccon
173
-
178
+ * Laurynas Butkus - http://lauris.night.lt
179
+ * Fernando García Samblas - http://nando.lacoctelera.com
data/Rakefile CHANGED
@@ -19,15 +19,16 @@ end
19
19
 
20
20
  task :default => :spec
21
21
 
22
+ DBNAME = 'rhcore_test'
22
23
  namespace :postgresql do
23
24
  desc 'Build the PostgreSQL test databases'
24
25
  task :build_databases do
25
- %x( createdb -E UTF8 rh_core_unittest )
26
+ %x( createdb -E UTF8 #{DBNAME} )
26
27
  end
27
28
 
28
29
  desc 'Drop the PostgreSQL test databases'
29
30
  task :drop_databases do
30
- %x( dropdb rh_core_unittest )
31
+ %x( dropdb #{DBNAME} )
31
32
  end
32
33
 
33
34
  desc 'Rebuild the PostgreSQL test databases'
@@ -38,16 +39,16 @@ task :build_postgresql_databases => 'postgresql:build_databases'
38
39
  task :drop_postgresql_databases => 'postgresql:drop_databases'
39
40
  task :rebuild_postgresql_databases => 'postgresql:rebuild_databases'
40
41
 
41
- MYSQL_DB_USER = 'rh_core'
42
+ MYSQL_DB_USER = 'rhcore'
42
43
  namespace :mysql do
43
44
  desc 'Build the MySQL test databases'
44
45
  task :build_databases do
45
- %x( echo "create DATABASE rh_core_unittest DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci " | mysql --user=#{MYSQL_DB_USER})
46
+ %x( echo "create DATABASE #{DBNAME} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci " | mysql --user=#{MYSQL_DB_USER})
46
47
  end
47
48
 
48
49
  desc 'Drop the MySQL test databases'
49
50
  task :drop_databases do
50
- %x( mysqladmin --user=#{MYSQL_DB_USER} -f drop rh_core_unittest )
51
+ %x( mysqladmin --user=#{MYSQL_DB_USER} -f drop #{DBNAME} )
51
52
  end
52
53
 
53
54
  desc 'Rebuild the MySQL test databases'
@@ -15,10 +15,12 @@ require 'redhillonrails_core/active_record/connection_adapters/foreign_key_defin
15
15
  require 'redhillonrails_core/active_record/connection_adapters/column'
16
16
  require 'redhillonrails_core/active_record/connection_adapters/index_definition'
17
17
  require 'redhillonrails_core/active_record/connection_adapters/mysql_column'
18
+ require 'redhillonrails_core/active_record/connection_adapters/schema_statements'
18
19
  require 'redhillonrails_core/active_record/connection_adapters/table_definition'
19
20
 
20
21
  module RedhillonrailsCore::ActiveRecord::ConnectionAdapters
21
22
  autoload :MysqlAdapter, 'redhillonrails_core/active_record/connection_adapters/mysql_adapter'
23
+ autoload :MysqlAdapterFixes, 'redhillonrails_core/active_record/connection_adapters/mysql_adapter_fixes'
22
24
  autoload :PostgresqlAdapter, 'redhillonrails_core/active_record/connection_adapters/postgresql_adapter'
23
25
  autoload :Sqlite3Adapter, 'redhillonrails_core/active_record/connection_adapters/sqlite3_adapter'
24
26
  end
@@ -30,3 +32,4 @@ ActiveRecord::ConnectionAdapters::IndexDefinition.send(:include, RedhillonrailsC
30
32
  ActiveRecord::ConnectionAdapters::TableDefinition.send(:include, RedhillonrailsCore::ActiveRecord::ConnectionAdapters::TableDefinition)
31
33
  ActiveRecord::ConnectionAdapters::Column.send(:include, RedhillonrailsCore::ActiveRecord::ConnectionAdapters::Column)
32
34
  ActiveRecord::ConnectionAdapters::AbstractAdapter.send(:include, RedhillonrailsCore::ActiveRecord::ConnectionAdapters::AbstractAdapter)
35
+ ActiveRecord::ConnectionAdapters::SchemaStatements.send(:include, RedhillonrailsCore::ActiveRecord::ConnectionAdapters::SchemaStatements)
@@ -43,7 +43,7 @@ module RedhillonrailsCore
43
43
  end
44
44
 
45
45
  def pluralized_table_name(table_name)
46
- ActiveRecord::Base.pluralize_table_names ? table_name.to_s.pluralize : table_name
46
+ ::ActiveRecord::Base.pluralize_table_names ? table_name.to_s.pluralize : table_name
47
47
  end
48
48
 
49
49
  def indexes
@@ -53,11 +53,11 @@ module RedhillonrailsCore
53
53
 
54
54
  def add_foreign_key(table_name, column_names, references_table_name, references_column_names, options = {})
55
55
  foreign_key = ForeignKeyDefinition.new(options[:name], table_name, column_names, ::ActiveRecord::Migrator.proper_table_name(references_table_name), references_column_names, options[:on_update], options[:on_delete], options[:deferrable])
56
- execute "ALTER TABLE #{table_name} ADD #{foreign_key}"
56
+ execute "ALTER TABLE #{quote_table_name(table_name)} ADD #{foreign_key}"
57
57
  end
58
58
 
59
59
  def remove_foreign_key(table_name, foreign_key_name, options = {})
60
- execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{foreign_key_name}"
60
+ execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{foreign_key_name}"
61
61
  end
62
62
 
63
63
  def drop_table_with_redhillonrails_core(name, options = {})
@@ -20,7 +20,14 @@ module RedhillonrailsCore
20
20
  end
21
21
 
22
22
  def to_sql
23
- sql = name ? "CONSTRAINT #{name} " : ""
23
+ if name
24
+ sql = "CONSTRAINT #{name} "
25
+ elsif table_name.present?
26
+ sql = "CONSTRAINT #{table_name}_#{Array(column_names).join('_')}_fkey "
27
+ else
28
+ sql = ""
29
+ end
30
+
24
31
  sql << "FOREIGN KEY (#{quoted_column_names.join(", ")}) REFERENCES #{quoted_references_table_name} (#{quoted_references_column_names.join(", ")})"
25
32
  sql << " ON UPDATE #{ACTIONS[on_update]}" if on_update
26
33
  sql << " ON DELETE #{ACTIONS[on_delete]}" if on_delete
@@ -2,7 +2,10 @@ module RedhillonrailsCore
2
2
  module ActiveRecord
3
3
  module ConnectionAdapters
4
4
  module MysqlAdapter
5
+ include MysqlAdapterFixes
6
+
5
7
  def self.included(base)
8
+ super
6
9
  base.class_eval do
7
10
  alias_method_chain :remove_column, :redhillonrails_core
8
11
  end
@@ -72,6 +75,16 @@ module RedhillonrailsCore
72
75
  foreign_keys
73
76
  end
74
77
 
78
+ def views(name = nil)
79
+ views = []
80
+ execute("SHOW FULL TABLES WHERE TABLE_TYPE='VIEW'", name).each { |row| views << row[0] }
81
+ views
82
+ end
83
+
84
+ def view_definition(view_name, name = nil)
85
+ select_one("SHOW CREATE VIEW #{quote_table_name(view_name)}", name)["Create View"]
86
+ end
87
+
75
88
  end
76
89
  end
77
90
  end
@@ -0,0 +1,22 @@
1
+ module RedhillonrailsCore
2
+ module ActiveRecord
3
+ module ConnectionAdapters
4
+ module MysqlAdapterFixes
5
+
6
+ # Starting from mysql2 0.2.7 Mysql2IndexDefinition is used.
7
+ # In 0.2 line it is inculuded in gem itself.
8
+ # Starting from version 0.3 it has gone to active_record mysql adapter
9
+ # We have to additionally monkey patch it.
10
+ def self.included(base)
11
+ super
12
+ if defined?(::ActiveRecord::ConnectionAdapters::Mysql2IndexDefinition)
13
+ ::ActiveRecord::ConnectionAdapters::Mysql2IndexDefinition.class_eval do
14
+ include ::RedhillonrailsCore::ActiveRecord::ConnectionAdapters::IndexDefinition
15
+ end
16
+ end
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ module RedhillonrailsCore::ActiveRecord::ConnectionAdapters
2
+ module SchemaStatements
3
+ def self.included(base)
4
+ base.module_eval do
5
+ alias_method_chain :create_table, :redhillonrails_core
6
+ end
7
+ end
8
+
9
+ def create_table_with_redhillonrails_core(name, options = {})
10
+ create_table_without_redhillonrails_core(name, options) do |table_definition|
11
+ table_definition.name = name
12
+ yield table_definition if block_given?
13
+ end
14
+ end
15
+ end
16
+ end
@@ -59,6 +59,14 @@ module RedhillonrailsCore
59
59
  load_foreign_keys("to_table_name", table_name, name)
60
60
  end
61
61
 
62
+ def views(name = nil)
63
+ execute("SELECT name FROM sqlite_master WHERE type = 'view'").collect { |definition| definition["name"] }
64
+ end
65
+
66
+ def view_definition(view_name, name = nil)
67
+ select_one("SELECT sql FROM sqlite_master WHERE type = 'view' AND name = #{quote_table_name(view_name)}")["sql"]
68
+ end
69
+
62
70
  private
63
71
 
64
72
  def quoted_columns(columns)
@@ -16,7 +16,9 @@ module RedhillonrailsCore
16
16
  end
17
17
 
18
18
  def foreign_key(column_names, references_table_name, references_column_names, options = {})
19
- @foreign_keys << ForeignKeyDefinition.new(options[:name], nil, column_names, ::ActiveRecord::Migrator.proper_table_name(references_table_name), references_column_names, options[:on_update], options[:on_delete], options[:deferrable])
19
+ @foreign_keys << ForeignKeyDefinition.new(options[:name], name, column_names,
20
+ ::ActiveRecord::Migrator.proper_table_name(references_table_name), references_column_names,
21
+ options[:on_update], options[:on_delete], options[:deferrable])
20
22
  self
21
23
  end
22
24
 
@@ -1,3 +1,3 @@
1
1
  module RedhillonrailsCore
2
- VERSION = "1.1.3"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency("rspec", "~> 2.4.0")
25
25
  s.add_development_dependency("pg")
26
26
  s.add_development_dependency("mysql")
27
- s.add_development_dependency("mysql2")
27
+ s.add_development_dependency("mysql2", "~> 0.2.11")
28
28
  s.add_development_dependency("sqlite3-ruby", "~> 1.3.1")
29
+ s.add_development_dependency("rake")
29
30
  end
@@ -6,13 +6,12 @@ ActiveRecord::Base.logger = Logger.new("debug.log")
6
6
  ActiveRecord::Base.configurations = {
7
7
  'redhillonrails' => {
8
8
  :adapter => 'mysql',
9
- :database => 'redhillonrails_core_test',
10
- :username => 'redhillonrails',
9
+ :database => 'rhcore_test',
10
+ :username => 'rhcore',
11
11
  :encoding => 'utf8',
12
12
  :socket => '/var/run/mysqld/mysqld.sock',
13
13
  :min_messages => 'warning'
14
14
  }
15
-
16
15
  }
17
16
 
18
17
  ActiveRecord::Base.establish_connection 'redhillonrails'
@@ -6,8 +6,8 @@ ActiveRecord::Base.logger = Logger.new("debug.log")
6
6
  ActiveRecord::Base.configurations = {
7
7
  'redhillonrails' => {
8
8
  :adapter => 'mysql2',
9
- :database => 'redhillonrails_core_test',
10
- :username => 'redhillonrails',
9
+ :database => 'rhcore_test',
10
+ :username => 'rhcore',
11
11
  :encoding => 'utf8',
12
12
  :socket => '/var/run/mysqld/mysqld.sock',
13
13
  :min_messages => 'warning'
@@ -6,7 +6,7 @@ ActiveRecord::Base.logger = Logger.new("debug.log")
6
6
  ActiveRecord::Base.configurations = {
7
7
  'redhillonrails' => {
8
8
  :adapter => 'postgresql',
9
- :database => 'redhillonrails_core_test',
9
+ :database => 'rhcore_test',
10
10
  :min_messages => 'warning'
11
11
  }
12
12
 
@@ -4,12 +4,36 @@ require 'models/user'
4
4
 
5
5
  describe "Foreign Key definition" do
6
6
 
7
- let(:definition) { RedhillonrailsCore::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition.new("posts_user_fkey", :posts, :user, :users, :id) }
7
+ let(:fk_definition) { RedhillonrailsCore::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition }
8
8
 
9
9
  it "it is dumped to sql with quoted values" do
10
- definition.to_sql.should == %Q{CONSTRAINT posts_user_fkey FOREIGN KEY (#{quote_column_name('user')}) REFERENCES #{quote_table_name('users')} (#{quote_column_name('id')})}
10
+ definition = fk_definition.new("named_fkey", :posts, :user, :users, :id)
11
+ definition.to_sql.should == foreign_key_sql("named_fkey")
11
12
  end
12
13
 
14
+ context "when name isn't given" do
15
+
16
+ it "builds name from table and column name" do
17
+ definition = fk_definition.new(nil, :posts, :user, :users, :id)
18
+ definition.to_sql.should == foreign_key_sql("posts_user_fkey")
19
+ end
20
+
21
+ it "build name with column joined with underscore for compsite key" do
22
+ definition = fk_definition.new(nil, :orders, [:inquiry_id, :user_id], :inquiries, [:id, :user_id])
23
+ expected_definition = "CONSTRAINT orders_inquiry_id_user_id_fkey FOREIGN KEY \
24
+ (#{quote_column_name("inquiry_id")}, #{quote_column_name("user_id")}) \
25
+ REFERENCES #{quote_table_name("inquiries")} (#{quote_column_name("id")}, #{quote_column_name("user_id")})".squeeze(" ")
26
+ definition.to_sql.should == expected_definition
27
+ end
28
+
29
+ end
30
+
31
+ it "does not include name if no name or table_name is given" do
32
+ definition = fk_definition.new(nil, nil, :user, :users, :id)
33
+ definition.to_sql.should == foreign_key_sql(nil)
34
+ end
35
+
36
+ protected
13
37
  def quote_table_name(table)
14
38
  ActiveRecord::Base.connection.quote_table_name(table)
15
39
  end
@@ -18,4 +42,9 @@ describe "Foreign Key definition" do
18
42
  ActiveRecord::Base.connection.quote_column_name(column)
19
43
  end
20
44
 
45
+ def foreign_key_sql(fk_name)
46
+ [("CONSTRAINT #{fk_name}" if fk_name), "FOREIGN KEY (#{quote_column_name('user')}) "\
47
+ "REFERENCES #{quote_table_name('users')} (#{quote_column_name('id')})"].compact.join(' ')
48
+ end
49
+
21
50
  end
@@ -10,7 +10,7 @@ describe "Foreign Key" do
10
10
 
11
11
  context "when is added", "posts(author_id)" do
12
12
 
13
- before(:each) do
13
+ before(:each) do
14
14
  add_foreign_key(:posts, :author_id, :users, :id, :on_update => :cascade, :on_delete => :restrict)
15
15
  end
16
16
 
@@ -60,7 +60,7 @@ describe "Foreign Key" do
60
60
  it "is no longer available in Post.foreign_keys" do
61
61
  Comment.foreign_keys.collect(&:column_names).should_not include(%w[post_id])
62
62
  end
63
-
63
+
64
64
  it "is no longer available in User.reverse_foreign_keys" do
65
65
  Post.reverse_foreign_keys.collect(&:column_names).should_not include(%w[post_id])
66
66
  end
@@ -78,6 +78,19 @@ describe "Foreign Key" do
78
78
 
79
79
  end
80
80
 
81
+ it "shouldn't raise when restrited keyword in table name is used" do
82
+ migration.suppress_messages do
83
+ migration.create_table :select, :force => true do |t|
84
+ t.integer :post_id
85
+ end
86
+ end
87
+ expect do
88
+ add_foreign_key(:select, :post_id, :posts, :id, :name => "test_fk")
89
+ remove_foreign_key(:select, "test_fk")
90
+ end.should_not raise_error(Exception)
91
+ migration.suppress_messages { migration.drop_table :select }
92
+ end
93
+
81
94
  protected
82
95
  def add_foreign_key(*args)
83
96
  migration.suppress_messages do
@@ -0,0 +1,28 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ require 'models/post'
4
+
5
+ describe "Table definition" do
6
+
7
+ let(:connection) { ::ActiveRecord::Migration.connection }
8
+
9
+ unless ::ActiveRecord::Base.connection.class.include?(
10
+ RedhillonrailsCore::ActiveRecord::ConnectionAdapters::Sqlite3Adapter)
11
+
12
+ it "sets table_name of foreign key definition when running migrations" do
13
+ connection.create_table :votes, :force => true do |t|
14
+ t.integer :kind
15
+ t.integer :application_id
16
+ t.integer :user_id
17
+ t.foreign_key :user_id, :users, :id
18
+ end
19
+
20
+ Vote = Class.new(ActiveRecord::Base)
21
+ Vote.foreign_keys.size.should == 1
22
+ Vote.foreign_keys[0].table_name.should == 'votes'
23
+ connection.drop_table :votes
24
+ end
25
+
26
+ end
27
+
28
+ end
@@ -0,0 +1,41 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ require 'models/user'
4
+
5
+ describe "views" do
6
+
7
+ let(:migration) { ::ActiveRecord::Migration }
8
+
9
+ let(:dump) do
10
+ stream = StringIO.new
11
+ ActiveRecord::SchemaDumper.ignore_tables = %w[users comments]
12
+ ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
13
+ stream.string
14
+ end
15
+
16
+ let(:view_statement) { "SELECT * FROM users where deleted_at IS NULL" }
17
+
18
+ it "should return views" do
19
+ with_view "active_users", view_statement do
20
+ migration.connection.views.should have(1).view
21
+ end
22
+ end
23
+
24
+ it "should be included in schema dump" do
25
+ with_view "active_users", view_statement do
26
+ dump.should match /active_users/
27
+ # I don't test view definition as it is transformed to different form
28
+ # comparing to original statement
29
+ end
30
+ end
31
+
32
+ protected
33
+ def with_view(name, definition)
34
+ migration.suppress_messages do
35
+ migration.create_view name, definition
36
+ yield
37
+ migration.drop_view name
38
+ end
39
+ end
40
+
41
+ end
metadata CHANGED
@@ -1,108 +1,102 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: redhillonrails_core
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 1
8
- - 3
9
- version: 1.1.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
12
- - "Micha\xC5\x82 \xC5\x81omnicki"
7
+ authors:
8
+ - Michał Łomnicki
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-02-25 00:00:00 +01:00
12
+ date: 2011-07-21 00:00:00.000000000 +02:00
18
13
  default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
21
16
  name: activerecord
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 2
29
- version: "2"
17
+ requirement: &84719870 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '2'
30
23
  type: :runtime
31
- version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: rspec
34
24
  prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
25
+ version_requirements: *84719870
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ requirement: &84719590 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
37
31
  - - ~>
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 2
41
- - 4
42
- - 0
32
+ - !ruby/object:Gem::Version
43
33
  version: 2.4.0
44
34
  type: :development
45
- version_requirements: *id002
46
- - !ruby/object:Gem::Dependency
47
- name: pg
48
35
  prerelease: false
49
- requirement: &id003 !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- segments:
54
- - 0
55
- version: "0"
36
+ version_requirements: *84719590
37
+ - !ruby/object:Gem::Dependency
38
+ name: pg
39
+ requirement: &84719370 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
56
45
  type: :development
57
- version_requirements: *id003
58
- - !ruby/object:Gem::Dependency
59
- name: mysql
60
46
  prerelease: false
61
- requirement: &id004 !ruby/object:Gem::Requirement
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- segments:
66
- - 0
67
- version: "0"
47
+ version_requirements: *84719370
48
+ - !ruby/object:Gem::Dependency
49
+ name: mysql
50
+ requirement: &84719110 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
68
56
  type: :development
69
- version_requirements: *id004
70
- - !ruby/object:Gem::Dependency
71
- name: mysql2
72
57
  prerelease: false
73
- requirement: &id005 !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- segments:
78
- - 0
79
- version: "0"
58
+ version_requirements: *84719110
59
+ - !ruby/object:Gem::Dependency
60
+ name: mysql2
61
+ requirement: &84718820 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 0.2.11
80
67
  type: :development
81
- version_requirements: *id005
82
- - !ruby/object:Gem::Dependency
83
- name: sqlite3-ruby
84
68
  prerelease: false
85
- requirement: &id006 !ruby/object:Gem::Requirement
86
- requirements:
69
+ version_requirements: *84718820
70
+ - !ruby/object:Gem::Dependency
71
+ name: sqlite3-ruby
72
+ requirement: &84718540 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
87
75
  - - ~>
88
- - !ruby/object:Gem::Version
89
- segments:
90
- - 1
91
- - 3
92
- - 1
76
+ - !ruby/object:Gem::Version
93
77
  version: 1.3.1
94
78
  type: :development
95
- version_requirements: *id006
96
- description: Adds support in ActiveRecord for foreign_keys, complex indexes and other database-related stuff. Easily create foreign_keys, complex indexes and views.
97
- email:
79
+ prerelease: false
80
+ version_requirements: *84718540
81
+ - !ruby/object:Gem::Dependency
82
+ name: rake
83
+ requirement: &84718340 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: *84718340
92
+ description: Adds support in ActiveRecord for foreign_keys, complex indexes and other
93
+ database-related stuff. Easily create foreign_keys, complex indexes and views.
94
+ email:
98
95
  - michal.lomnicki@gmail.com
99
96
  executables: []
100
-
101
97
  extensions: []
102
-
103
98
  extra_rdoc_files: []
104
-
105
- files:
99
+ files:
106
100
  - .gitignore
107
101
  - CHANGELOG
108
102
  - Gemfile
@@ -118,8 +112,10 @@ files:
118
112
  - lib/redhillonrails_core/active_record/connection_adapters/foreign_key_definition.rb
119
113
  - lib/redhillonrails_core/active_record/connection_adapters/index_definition.rb
120
114
  - lib/redhillonrails_core/active_record/connection_adapters/mysql_adapter.rb
115
+ - lib/redhillonrails_core/active_record/connection_adapters/mysql_adapter_fixes.rb
121
116
  - lib/redhillonrails_core/active_record/connection_adapters/mysql_column.rb
122
117
  - lib/redhillonrails_core/active_record/connection_adapters/postgresql_adapter.rb
118
+ - lib/redhillonrails_core/active_record/connection_adapters/schema_statements.rb
123
119
  - lib/redhillonrails_core/active_record/connection_adapters/sqlite3_adapter.rb
124
120
  - lib/redhillonrails_core/active_record/connection_adapters/table_definition.rb
125
121
  - lib/redhillonrails_core/active_record/schema.rb
@@ -142,35 +138,32 @@ files:
142
138
  - spec/schema_dumper_spec.rb
143
139
  - spec/spec_helper.rb
144
140
  - spec/support/reference.rb
141
+ - spec/table_definition_spec.rb
142
+ - spec/view_spec.rb
145
143
  has_rdoc: true
146
144
  homepage: https://github.com/mlomnicki/redhillonrails_core
147
145
  licenses: []
148
-
149
146
  post_install_message:
150
147
  rdoc_options: []
151
-
152
- require_paths:
148
+ require_paths:
153
149
  - lib
154
- required_ruby_version: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- segments:
159
- - 0
160
- version: "0"
161
- required_rubygems_version: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- segments:
166
- - 0
167
- version: "0"
150
+ required_ruby_version: !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ! '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ! '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
168
162
  requirements: []
169
-
170
163
  rubyforge_project: redhillonrails_core
171
- rubygems_version: 1.3.6
164
+ rubygems_version: 1.6.2
172
165
  signing_key:
173
166
  specification_version: 3
174
- summary: Adds support in ActiveRecord for foreign_keys, complex indexes and other database-related stuff
167
+ summary: Adds support in ActiveRecord for foreign_keys, complex indexes and other
168
+ database-related stuff
175
169
  test_files: []
176
-