automatic_foreign_key 1.1.8 → 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 ADDED
@@ -0,0 +1,22 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
22
+ .rvmrc
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ 1.2.0
2
+ * added install generator
3
+ * fixed doubled auto-index inside Schema.define
4
+ * upgraded to RSpec 2
5
+ * got rid of jeweler in favor of bundler
1
6
  1.1.8
2
7
  * depend on redhillonrails_core 1.1.2
3
8
  1.1.7
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,48 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ automatic_foreign_key (1.2.0)
5
+ activerecord (>= 2)
6
+ redhillonrails_core (~> 1.1.2)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activemodel (3.0.3)
12
+ activesupport (= 3.0.3)
13
+ builder (~> 2.1.2)
14
+ i18n (~> 0.4)
15
+ activerecord (3.0.3)
16
+ activemodel (= 3.0.3)
17
+ activesupport (= 3.0.3)
18
+ arel (~> 2.0.2)
19
+ tzinfo (~> 0.3.23)
20
+ activesupport (3.0.3)
21
+ arel (2.0.7)
22
+ builder (2.1.2)
23
+ diff-lcs (1.1.2)
24
+ i18n (0.5.0)
25
+ mysql (2.8.1)
26
+ mysql2 (0.2.6)
27
+ pg (0.10.0)
28
+ redhillonrails_core (1.1.2)
29
+ activerecord
30
+ rspec (2.4.0)
31
+ rspec-core (~> 2.4.0)
32
+ rspec-expectations (~> 2.4.0)
33
+ rspec-mocks (~> 2.4.0)
34
+ rspec-core (2.4.0)
35
+ rspec-expectations (2.4.0)
36
+ diff-lcs (~> 1.1.2)
37
+ rspec-mocks (2.4.0)
38
+ tzinfo (0.3.24)
39
+
40
+ PLATFORMS
41
+ ruby
42
+
43
+ DEPENDENCIES
44
+ automatic_foreign_key!
45
+ mysql
46
+ mysql2
47
+ pg
48
+ rspec (~> 2.4.0)
data/Rakefile CHANGED
@@ -1,52 +1,11 @@
1
- # encoding: utf-8
2
- require 'rubygems'
3
- require 'rake'
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
4
3
 
5
- begin
6
- require 'jeweler'
7
- Jeweler::Tasks.new do |gem|
8
- gem.name = "automatic_foreign_key"
9
- gem.summary = %Q{Automatically generate foreign-key constraints when creating tables}
10
- gem.description = %Q{Automatic Foreign Key automatically generates foreign-key
11
- constraints when creating tables or adding columns. It uses SQL-92 syntax and as such should be compatible with most databases that support foreign-key constraints.}
12
- gem.email = "michal.lomnicki@gmail.com"
13
- gem.homepage = "http://github.com/mlomnicki/automatic_foreign_key"
14
- gem.authors = ["Michał Łomnicki"]
15
- gem.files.exclude "Gemfile"
16
- gem.files.exclude "Gemfile.lock"
17
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
- end
19
- Jeweler::GemcutterTasks.new
20
- rescue LoadError
21
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
- end
23
-
24
- require 'rake/testtask'
25
- Rake::TestTask.new(:test) do |test|
26
- test.libs << 'lib' << 'test'
27
- test.pattern = 'test/**/test_*.rb'
28
- test.verbose = true
29
- end
30
-
31
- begin
32
- require 'rcov/rcovtask'
33
- Rcov::RcovTask.new do |test|
34
- test.libs << 'test'
35
- test.pattern = 'test/**/test_*.rb'
36
- test.verbose = true
37
- end
38
- rescue LoadError
39
- task :rcov do
40
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
41
- end
42
- end
43
-
44
- require 'spec/rake/spectask'
4
+ require 'rspec/core/rake_task'
45
5
  %w[postgresql mysql mysql2].each do |adapter|
46
6
  namespace adapter do
47
- Spec::Rake::SpecTask.new(:spec) do |spec|
48
- spec.libs << 'lib' << 'spec' << "spec/connections/#{adapter}"
49
- spec.spec_files = FileList['spec/**/*_spec.rb']
7
+ RSpec::Core::RakeTask.new(:spec) do |spec|
8
+ spec.rspec_opts = "-Ispec/connections/#{adapter}"
50
9
  end
51
10
  end
52
11
  end
@@ -60,12 +19,6 @@ end
60
19
 
61
20
  task :default => :spec
62
21
 
63
- Spec::Rake::SpecTask.new(:rcov) do |spec|
64
- spec.libs << 'lib' << 'spec'
65
- spec.pattern = 'spec/**/*_spec.rb'
66
- spec.rcov = true
67
- end
68
-
69
22
  require 'rake/rdoctask'
70
23
  Rake::RDocTask.new do |rdoc|
71
24
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
@@ -80,13 +33,11 @@ namespace :postgresql do
80
33
  desc 'Build the PostgreSQL test databases'
81
34
  task :build_databases do
82
35
  %x( createdb -E UTF8 afk_unittest )
83
- %x( createdb -E UTF8 afk_unittest2 )
84
36
  end
85
37
 
86
38
  desc 'Drop the PostgreSQL test databases'
87
39
  task :drop_databases do
88
40
  %x( dropdb afk_unittest )
89
- %x( dropdb afk_unittest2 )
90
41
  end
91
42
 
92
43
  desc 'Rebuild the PostgreSQL test databases'
@@ -1,108 +1,31 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "automatic_foreign_key/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{automatic_foreign_key}
8
- s.version = "1.1.8"
6
+ s.name = "automatic_foreign_key"
7
+ s.version = AutomaticForeignKey::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Michał Łomnicki"]
10
+ s.email = ["michal.lomnicki@gmail.com"]
11
+ s.homepage = "https://github.com/mlomnicki/automatic_foreign_key"
12
+ s.summary = "Automatically generate foreign-key constraints when creating tables"
13
+ s.description = "Automatic Foreign Key automatically generates foreign-key \
14
+ constraints when creating tables or adding columns. It uses SQL-92 syntax and as such should be compatible with most databases that support foreign-key constraints."
9
15
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Michał Łomnicki"]
12
- s.date = %q{2011-01-10}
13
- s.description = %q{Automatic Foreign Key automatically generates foreign-key
14
- constraints when creating tables or adding columns. It uses SQL-92 syntax and as such should be compatible with most databases that support foreign-key constraints.}
15
- s.email = %q{michal.lomnicki@gmail.com}
16
- s.extra_rdoc_files = [
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- "CHANGELOG",
22
- "MIT-LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "automatic_foreign_key.gemspec",
27
- "init.rb",
28
- "install.rb",
29
- "lib/automatic_foreign_key.rb",
30
- "lib/automatic_foreign_key/active_record/base.rb",
31
- "lib/automatic_foreign_key/active_record/connection_adapters/schema_statements.rb",
32
- "lib/automatic_foreign_key/active_record/connection_adapters/table_definition.rb",
33
- "lib/automatic_foreign_key/active_record/migration.rb",
34
- "lib/generators/automatic_foreign_key/migration_generator.rb",
35
- "lib/generators/automatic_foreign_key/templates/migration.rb",
36
- "spec/aaa_create_tables_spec.rb",
37
- "spec/connections/mysql/connection.rb",
38
- "spec/connections/mysql2/connection.rb",
39
- "spec/connections/postgresql/connection.rb",
40
- "spec/migration_spec.rb",
41
- "spec/models/comment.rb",
42
- "spec/models/post.rb",
43
- "spec/models/user.rb",
44
- "spec/references_spec.rb",
45
- "spec/schema/schema.rb",
46
- "spec/schema_dumper_spec.rb",
47
- "spec/spec_helper.rb",
48
- "spec/support/matchers/automatic_foreign_key_matchers.rb",
49
- "spec/support/matchers/have_index.rb",
50
- "spec/support/matchers/reference.rb"
51
- ]
52
- s.homepage = %q{http://github.com/mlomnicki/automatic_foreign_key}
53
- s.require_paths = ["lib"]
54
- s.rubygems_version = %q{1.3.7}
55
- s.summary = %q{Automatically generate foreign-key constraints when creating tables}
56
- s.test_files = [
57
- "spec/aaa_create_tables_spec.rb",
58
- "spec/connections/mysql/connection.rb",
59
- "spec/connections/mysql2/connection.rb",
60
- "spec/connections/postgresql/connection.rb",
61
- "spec/migration_spec.rb",
62
- "spec/models/comment.rb",
63
- "spec/models/post.rb",
64
- "spec/models/user.rb",
65
- "spec/references_spec.rb",
66
- "spec/schema/schema.rb",
67
- "spec/schema_dumper_spec.rb",
68
- "spec/spec_helper.rb",
69
- "spec/support/matchers/automatic_foreign_key_matchers.rb",
70
- "spec/support/matchers/have_index.rb",
71
- "spec/support/matchers/reference.rb"
72
- ]
16
+ s.rubyforge_project = "automatic_foreign_key"
73
17
 
74
- if s.respond_to? :specification_version then
75
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
76
- s.specification_version = 3
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
77
22
 
78
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
79
- s.add_runtime_dependency(%q<activerecord>, [">= 0"])
80
- s.add_runtime_dependency(%q<redhillonrails_core>, ["~> 1.1.2"])
81
- s.add_development_dependency(%q<jeweler>, ["~> 1.5"])
82
- s.add_development_dependency(%q<rspec>, ["~> 1.3"])
83
- s.add_development_dependency(%q<railties>, [">= 0"])
84
- s.add_development_dependency(%q<pg>, [">= 0"])
85
- s.add_development_dependency(%q<mysql>, [">= 0"])
86
- s.add_development_dependency(%q<mysql2>, [">= 0"])
87
- else
88
- s.add_dependency(%q<activerecord>, [">= 0"])
89
- s.add_dependency(%q<redhillonrails_core>, ["~> 1.1.2"])
90
- s.add_dependency(%q<jeweler>, ["~> 1.5"])
91
- s.add_dependency(%q<rspec>, ["~> 1.3"])
92
- s.add_dependency(%q<railties>, [">= 0"])
93
- s.add_dependency(%q<pg>, [">= 0"])
94
- s.add_dependency(%q<mysql>, [">= 0"])
95
- s.add_dependency(%q<mysql2>, [">= 0"])
96
- end
97
- else
98
- s.add_dependency(%q<activerecord>, [">= 0"])
99
- s.add_dependency(%q<redhillonrails_core>, ["~> 1.1.2"])
100
- s.add_dependency(%q<jeweler>, ["~> 1.5"])
101
- s.add_dependency(%q<rspec>, ["~> 1.3"])
102
- s.add_dependency(%q<railties>, [">= 0"])
103
- s.add_dependency(%q<pg>, [">= 0"])
104
- s.add_dependency(%q<mysql>, [">= 0"])
105
- s.add_dependency(%q<mysql2>, [">= 0"])
106
- end
23
+ s.add_dependency("activerecord", ">= 2")
24
+ s.add_dependency("redhillonrails_core", "~> 1.1.2")
25
+
26
+ s.add_development_dependency("rspec", "~> 2.4.0")
27
+ s.add_development_dependency("pg")
28
+ s.add_development_dependency("mysql")
29
+ s.add_development_dependency("mysql2")
107
30
  end
108
31
 
@@ -5,6 +5,8 @@ rescue
5
5
  require 'redhillonrails_core'
6
6
  end
7
7
 
8
+ require 'automatic_foreign_key/version'
9
+
8
10
  module AutomaticForeignKey
9
11
  module ActiveRecord
10
12
  autoload :Base, 'automatic_foreign_key/active_record/base'
@@ -24,7 +24,7 @@ module AutomaticForeignKey::ActiveRecord::ConnectionAdapters
24
24
  if references
25
25
  AutomaticForeignKey.set_default_update_and_delete_actions!(options)
26
26
  foreign_key(name, references.first, references.last, options)
27
- if index = options.fetch(:index, AutomaticForeignKey.auto_index)
27
+ if index = afk_index_options(options)
28
28
  # append [column_name, index_options] pair
29
29
  self.indices << [name, AutomaticForeignKey.options_for_index(index)]
30
30
  end
@@ -40,5 +40,15 @@ module AutomaticForeignKey::ActiveRecord::ConnectionAdapters
40
40
  options[:on_delete] = options.delete(:dependent) if options.has_key?(:dependent)
41
41
  column("#{table.to_s.singularize}_id".to_sym, :integer, options)
42
42
  end
43
+
44
+ protected
45
+ def afk_index_options(options)
46
+ options.fetch(:index, afk_use_auto_index?)
47
+ end
48
+
49
+ def afk_use_auto_index?
50
+ AutomaticForeignKey.auto_index && !ActiveRecord::Schema.defining?
51
+ end
52
+
43
53
  end
44
54
  end
@@ -0,0 +1,3 @@
1
+ module AutomaticForeignKey
2
+ VERSION = "1.2.0"
3
+ end
@@ -0,0 +1,13 @@
1
+ module AutomaticForeignKey
2
+ module Generators
3
+ class InstallGenerator < ::Rails::Generators::Base
4
+ desc "Copy automatic foreign key default files"
5
+ source_root File.expand_path('../templates', __FILE__)
6
+
7
+ def copy_initializers
8
+ copy_file 'automatic_foreign_key.rb', 'config/initializers/automatic_foreign_key.rb'
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -2,35 +2,37 @@ require 'rails/generators'
2
2
  require 'rails/generators/active_record'
3
3
 
4
4
  module AutomaticForeignKey
5
- class MigrationGenerator < ::ActiveRecord::Generators::Base
6
- argument :name, :default => 'create_foreign_keys'
5
+ module Generators
6
+ class MigrationGenerator < ::ActiveRecord::Generators::Base
7
+ argument :name, :default => 'create_foreign_keys'
7
8
 
8
- def self.source_root
9
- File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
10
- end
9
+ def self.source_root
10
+ File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
11
+ end
11
12
 
12
- def create_migration_file
13
- set_local_assigns!
14
- migration_template 'migration.rb', "db/migrate/#{file_name}"
15
- end
13
+ def create_migration_file
14
+ set_local_assigns!
15
+ migration_template 'migration.rb', "db/migrate/#{file_name}"
16
+ end
16
17
 
17
- protected
18
- attr_reader :foreign_keys
18
+ protected
19
+ attr_reader :foreign_keys
19
20
 
20
- def set_local_assigns!
21
- @foreign_keys = determine_foreign_keys
22
- end
21
+ def set_local_assigns!
22
+ @foreign_keys = determine_foreign_keys
23
+ end
23
24
 
24
- def determine_foreign_keys
25
- foreign_keys = []
26
- connection = ::ActiveRecord::Base.connection
27
- connection.tables.each do |table_name|
28
- connection.columns(table_name).each do |column|
29
- references = ::ActiveRecord::Base.references(table_name, column.name)
30
- foreign_keys << ::RedhillonrailsCore::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition.new(nil, table_name, column.name, references.first, references.last) if references
25
+ def determine_foreign_keys
26
+ foreign_keys = []
27
+ connection = ::ActiveRecord::Base.connection
28
+ connection.tables.each do |table_name|
29
+ connection.columns(table_name).each do |column|
30
+ references = ::ActiveRecord::Base.references(table_name, column.name)
31
+ foreign_keys << ::RedhillonrailsCore::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition.new(nil, table_name, column.name, references.first, references.last) if references
32
+ end
31
33
  end
34
+ foreign_keys
32
35
  end
33
- foreign_keys
34
36
  end
35
37
  end
36
38
  end
@@ -0,0 +1,16 @@
1
+ AutomaticForeignKey.setup do |config|
2
+
3
+ # Default ON UPDATE action
4
+ # Available values are :cascade, :restrict, :set_null, :set_default, :no_action
5
+ # config.on_update = :cascade
6
+ #
7
+ # Default ON DELETE action
8
+ # Available values are :cascade, :restrict, :set_null, :set_default, :no_action
9
+ # config.on_delete = :restrict
10
+ #
11
+ # Auto indexing foreign keys.
12
+ # It's relevant for PostgreSQL only.
13
+ # MySQL engines auto-index foreign keys by default
14
+ # config.auto_index = true
15
+
16
+ end
@@ -13,6 +13,7 @@ describe ActiveRecord::Base do
13
13
  end
14
14
 
15
15
  describe ActiveRecord::Migration do
16
+ include AutomaticForeignKeyHelpers
16
17
 
17
18
  context "when table is created" do
18
19
 
@@ -241,10 +242,6 @@ describe ActiveRecord::Migration do
241
242
  model.foreign_keys.detect { |fk| fk.table_name == model.table_name && fk.column_names == columns }
242
243
  end
243
244
 
244
- def mysql?
245
- ActiveRecord::Base.connection.adapter_name =~ /^mysql/i
246
- end
247
-
248
245
  def create_table(model, columns_with_options)
249
246
  ActiveRecord::Migration.suppress_messages do
250
247
  ActiveRecord::Migration.create_table model.table_name, :force => true do |t|
@@ -0,0 +1,64 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe ActiveRecord::Schema do
4
+
5
+ let(:schema) { ActiveRecord::Schema }
6
+
7
+ let(:connection) { ActiveRecord::Base.connection }
8
+
9
+ after(:all) do
10
+ # revert to general schema
11
+ ActiveRecord::Migration.suppress_messages do
12
+ load 'schema/schema.rb'
13
+ end
14
+ end
15
+
16
+ context "defining with auto_index" do
17
+
18
+ it "should pass" do
19
+
20
+ with_auto_index do
21
+ expect { define_schema }.should_not raise_error
22
+ end
23
+
24
+ end
25
+
26
+ it "should create only explicity added indexes" do
27
+ with_auto_index do
28
+ define_schema
29
+ connection.tables.collect { |table| connection.indexes(table) }.flatten.should have(1).item
30
+ end
31
+ end
32
+
33
+ end
34
+
35
+ protected
36
+ def define_schema
37
+ ActiveRecord::Migration.suppress_messages do
38
+ schema.define do
39
+
40
+ create_table :users, :force => true do
41
+ end
42
+
43
+ create_table :posts, :force => true do |t|
44
+ t.integer :user_id
45
+ end
46
+ # mysql will create index on FK automatically
47
+ unless AutomaticForeignKeyHelpers.mysql?
48
+ add_index :posts, :user_id
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+ def with_auto_index(value = true)
55
+ old_value = AutomaticForeignKey.auto_index
56
+ AutomaticForeignKey.auto_index = value
57
+ begin
58
+ yield
59
+ ensure
60
+ AutomaticForeignKey.auto_index = old_value
61
+ end
62
+ end
63
+
64
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,12 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'rubygems'
4
+ require 'rspec'
4
5
  require 'automatic_foreign_key'
5
- require 'spec'
6
- require 'spec/autorun'
7
6
  require 'connection'
8
7
  Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
9
8
 
10
- Spec::Runner.configure do |config|
9
+ RSpec.configure do |config|
11
10
  config.include(AutomaticForeignKeyMatchers)
12
11
  end
13
12
 
@@ -0,0 +1,8 @@
1
+ module AutomaticForeignKeyHelpers
2
+ extend self
3
+
4
+ def mysql?
5
+ ActiveRecord::Base.connection.adapter_name =~ /^mysql/i
6
+ end
7
+
8
+ end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 1
8
- - 8
9
- version: 1.1.8
7
+ - 2
8
+ - 0
9
+ version: 1.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - "Micha\xC5\x82 \xC5\x81omnicki"
@@ -14,24 +14,25 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-10 00:00:00 +01:00
17
+ date: 2011-01-23 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: activerecord
22
+ prerelease: false
22
23
  requirement: &id001 !ruby/object:Gem::Requirement
23
24
  none: false
24
25
  requirements:
25
26
  - - ">="
26
27
  - !ruby/object:Gem::Version
27
28
  segments:
28
- - 0
29
- version: "0"
29
+ - 2
30
+ version: "2"
30
31
  type: :runtime
31
- prerelease: false
32
32
  version_requirements: *id001
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: redhillonrails_core
35
+ prerelease: false
35
36
  requirement: &id002 !ruby/object:Gem::Requirement
36
37
  none: false
37
38
  requirements:
@@ -43,52 +44,26 @@ dependencies:
43
44
  - 2
44
45
  version: 1.1.2
45
46
  type: :runtime
46
- prerelease: false
47
47
  version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: jeweler
50
- requirement: &id003 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 1
57
- - 5
58
- version: "1.5"
59
- type: :development
60
- prerelease: false
61
- version_requirements: *id003
62
48
  - !ruby/object:Gem::Dependency
63
49
  name: rspec
64
- requirement: &id004 !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- segments:
70
- - 1
71
- - 3
72
- version: "1.3"
73
- type: :development
74
50
  prerelease: false
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: railties
78
- requirement: &id005 !ruby/object:Gem::Requirement
51
+ requirement: &id003 !ruby/object:Gem::Requirement
79
52
  none: false
80
53
  requirements:
81
- - - ">="
54
+ - - ~>
82
55
  - !ruby/object:Gem::Version
83
56
  segments:
57
+ - 2
58
+ - 4
84
59
  - 0
85
- version: "0"
60
+ version: 2.4.0
86
61
  type: :development
87
- prerelease: false
88
- version_requirements: *id005
62
+ version_requirements: *id003
89
63
  - !ruby/object:Gem::Dependency
90
64
  name: pg
91
- requirement: &id006 !ruby/object:Gem::Requirement
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
92
67
  none: false
93
68
  requirements:
94
69
  - - ">="
@@ -97,11 +72,11 @@ dependencies:
97
72
  - 0
98
73
  version: "0"
99
74
  type: :development
100
- prerelease: false
101
- version_requirements: *id006
75
+ version_requirements: *id004
102
76
  - !ruby/object:Gem::Dependency
103
77
  name: mysql
104
- requirement: &id007 !ruby/object:Gem::Requirement
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
105
80
  none: false
106
81
  requirements:
107
82
  - - ">="
@@ -110,11 +85,11 @@ dependencies:
110
85
  - 0
111
86
  version: "0"
112
87
  type: :development
113
- prerelease: false
114
- version_requirements: *id007
88
+ version_requirements: *id005
115
89
  - !ruby/object:Gem::Dependency
116
90
  name: mysql2
117
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ prerelease: false
92
+ requirement: &id006 !ruby/object:Gem::Requirement
118
93
  none: false
119
94
  requirements:
120
95
  - - ">="
@@ -123,25 +98,25 @@ dependencies:
123
98
  - 0
124
99
  version: "0"
125
100
  type: :development
126
- prerelease: false
127
- version_requirements: *id008
128
- description: |-
129
- Automatic Foreign Key automatically generates foreign-key
130
- constraints when creating tables or adding columns. It uses SQL-92 syntax and as such should be compatible with most databases that support foreign-key constraints.
131
- email: michal.lomnicki@gmail.com
101
+ version_requirements: *id006
102
+ description: Automatic Foreign Key automatically generates foreign-key constraints when creating tables or adding columns. It uses SQL-92 syntax and as such should be compatible with most databases that support foreign-key constraints.
103
+ email:
104
+ - michal.lomnicki@gmail.com
132
105
  executables: []
133
106
 
134
107
  extensions: []
135
108
 
136
- extra_rdoc_files:
137
- - README.rdoc
109
+ extra_rdoc_files: []
110
+
138
111
  files:
139
112
  - .document
113
+ - .gitignore
140
114
  - CHANGELOG
115
+ - Gemfile
116
+ - Gemfile.lock
141
117
  - MIT-LICENSE
142
118
  - README.rdoc
143
119
  - Rakefile
144
- - VERSION
145
120
  - automatic_foreign_key.gemspec
146
121
  - init.rb
147
122
  - install.rb
@@ -150,7 +125,10 @@ files:
150
125
  - lib/automatic_foreign_key/active_record/connection_adapters/schema_statements.rb
151
126
  - lib/automatic_foreign_key/active_record/connection_adapters/table_definition.rb
152
127
  - lib/automatic_foreign_key/active_record/migration.rb
128
+ - lib/automatic_foreign_key/version.rb
129
+ - lib/generators/automatic_foreign_key/install_generator.rb
153
130
  - lib/generators/automatic_foreign_key/migration_generator.rb
131
+ - lib/generators/automatic_foreign_key/templates/automatic_foreign_key.rb
154
132
  - lib/generators/automatic_foreign_key/templates/migration.rb
155
133
  - spec/aaa_create_tables_spec.rb
156
134
  - spec/connections/mysql/connection.rb
@@ -163,12 +141,14 @@ files:
163
141
  - spec/references_spec.rb
164
142
  - spec/schema/schema.rb
165
143
  - spec/schema_dumper_spec.rb
144
+ - spec/schema_spec.rb
166
145
  - spec/spec_helper.rb
146
+ - spec/support/helpers.rb
167
147
  - spec/support/matchers/automatic_foreign_key_matchers.rb
168
148
  - spec/support/matchers/have_index.rb
169
149
  - spec/support/matchers/reference.rb
170
150
  has_rdoc: true
171
- homepage: http://github.com/mlomnicki/automatic_foreign_key
151
+ homepage: https://github.com/mlomnicki/automatic_foreign_key
172
152
  licenses: []
173
153
 
174
154
  post_install_message:
@@ -194,24 +174,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
174
  version: "0"
195
175
  requirements: []
196
176
 
197
- rubyforge_project:
177
+ rubyforge_project: automatic_foreign_key
198
178
  rubygems_version: 1.3.7
199
179
  signing_key:
200
180
  specification_version: 3
201
181
  summary: Automatically generate foreign-key constraints when creating tables
202
- test_files:
203
- - spec/aaa_create_tables_spec.rb
204
- - spec/connections/mysql/connection.rb
205
- - spec/connections/mysql2/connection.rb
206
- - spec/connections/postgresql/connection.rb
207
- - spec/migration_spec.rb
208
- - spec/models/comment.rb
209
- - spec/models/post.rb
210
- - spec/models/user.rb
211
- - spec/references_spec.rb
212
- - spec/schema/schema.rb
213
- - spec/schema_dumper_spec.rb
214
- - spec/spec_helper.rb
215
- - spec/support/matchers/automatic_foreign_key_matchers.rb
216
- - spec/support/matchers/have_index.rb
217
- - spec/support/matchers/reference.rb
182
+ test_files: []
183
+
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.1.8