automatic_foreign_key 1.1.8 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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