active_record-mti 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f561f8c3e6dff9e4c46e297bb68cf4e00d5d5891
4
- data.tar.gz: 44bf123a8420156b88e21e5e9f1d9c39e4379a8d
3
+ metadata.gz: b14d2c9a38a839510f0246918f467e58e592aef4
4
+ data.tar.gz: bf6e66c09163a3296f93befdbaf1fe7a3b043ad8
5
5
  SHA512:
6
- metadata.gz: be36facecf13fe566b71bab1825e9d7ef0311b85b48bb34456476d649cad0a0adcb3877f2f25afac7ec2755149ef0a258aac9d9f69410f55aa537c60efbfc227
7
- data.tar.gz: aff8249f8050fe264785718e2ce773132e64b0153d50524bae003f6dad83c5f98ce74d5f1ed155b0fd197fc6beead571a6f2b020631253f648214dee74bd21c0
6
+ metadata.gz: 7fb70a3c6492b2c70dd4a95198116a9a4dc3eb2e45f66ca5be70b38d5658a38fc39742d820320091b6f3411717ee23a1fca3eb71e362a95cb8dfe7f6803537ee
7
+ data.tar.gz: e1066d95c0fd0ebdf83fd7d2aded8de84c665829a71929c2e35bdb70b5b9dc7754ee4b11a1f126dac0f30f96a4440ad60fde724f813f624a8c5abc5baf6b22cf
data/.gitignore CHANGED
@@ -72,3 +72,5 @@
72
72
  Icon?
73
73
  ehthumbs.db
74
74
  Thumbs.db
75
+ /Gemfile.lock
76
+ /coverage
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,21 @@
1
+ language: ruby
2
+ sudo: false
3
+ rvm:
4
+ - 2.0
5
+ - 2.1
6
+ - 2.2
7
+ - 2.3.1
8
+ - 2.4.0
9
+ cache: bundler
10
+ script:
11
+ - bundle exec rspec
12
+
13
+ after_success:
14
+ - bundle exec codeclimate-test-reporter
15
+
16
+ addons:
17
+ postgresql: "9.1"
18
+
19
+ env:
20
+ - RSPEC_VERSION="<2.99"
21
+ - RSPEC_VERSION="~>3.0
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ActiveRecord::MTI
1
+ # ActiveRecord::MTI [![Build Status](https://travis-ci.org/TwilightCoders/active_record-mti.svg?branch=master)](https://travis-ci.org/TwilightCoders/active_record-mti) [![Code Climate](https://codeclimate.com/github/TwilightCoders/active_record-mti/badges/gpa.svg)](https://codeclimate.com/github/TwilightCoders/active_record-mti) [![Test Coverage](https://codeclimate.com/github/TwilightCoders/active_record-mti/badges/coverage.svg)](https://codeclimate.com/github/TwilightCoders/active_record-mti/coverage)
2
2
 
3
3
  Allows for true native inheritance of tables in PostgreSQL
4
4
 
@@ -18,6 +18,28 @@ Or install it yourself as:
18
18
 
19
19
  $ gem install active_record-mti
20
20
 
21
+ ### Application Code
22
+
23
+ ```ruby
24
+ class Account < ::ActiveRecord::Base
25
+ uses_mti
26
+
27
+ end
28
+
29
+ class User < Account
30
+
31
+ end
32
+
33
+ class Developer < Account
34
+
35
+ end
36
+ ```
37
+
38
+ ActiveRecord queries work as usual with the following differences:
39
+
40
+ * You need to specify which model represents the base of your multi table inheritance tree. To do so, insert `uses_mti` in the model definition of the base class.
41
+ * The default query of "*" is changed to include the OID of each row for subclass discrimination. The default select will be `SELECT cast("accounts"."tableoid"::regclass AS text), "accounts".*` (for example)
42
+
21
43
  ### Migrations
22
44
 
23
45
  In your migrations define a table to inherit from another table:
@@ -25,39 +47,36 @@ In your migrations define a table to inherit from another table:
25
47
  ```ruby
26
48
  class CreateAccounts < ActiveRecord::Migration
27
49
  def change
28
- # Things is the head of or inheritance tree representing all things
29
- # both tangible and intangible. Can be considered the vertices in
30
- # the graph.
31
50
  create_table :accounts do |t|
32
- t.jsonb :settings
33
- t.timestamps
51
+ t.jsonb :settings
52
+ t.timestamps null: false
34
53
  end
35
54
 
36
55
  create_table :users, inherits: :accounts do |t|
37
- t.string :firstname
38
- t.string :lastname
56
+ t.string :firstname
57
+ t.string :lastname
39
58
  end
40
59
 
41
60
  create_table :developers, inherits: :users do |t|
42
- t.string :url
43
- t.string :api_key
61
+ t.string :url
62
+ t.string :api_key
44
63
  end
45
64
  end
46
65
  end
47
66
 
48
67
  ```
49
68
 
50
- ### Schema.rb
69
+ ### Schema
51
70
 
52
- A schema will be created that reflects the inheritance chain so that rake:db:schema:load will work
71
+ A schema will be created that reflects the inheritance chain so that `rake:db:schema:load` will work
53
72
 
54
73
  ```ruby
55
- ctiveRecord::Schema.define(version: 20160910024954) do
74
+ ActiveRecord::Schema.define(version: 20160910024954) do
56
75
 
57
76
  create_table "accounts", force: :cascade do |t|
58
77
  t.jsonb "settings"
59
- t.datetime "created_at"
60
- t.datetime "updated_at"
78
+ t.datetime "created_at", null: false
79
+ t.datetime "updated_at", null: false
61
80
  end
62
81
 
63
82
  create_table "users", inherits: "accounts" do |t|
@@ -73,12 +92,6 @@ ctiveRecord::Schema.define(version: 20160910024954) do
73
92
  end
74
93
  ```
75
94
 
76
- ### In your application code
77
-
78
- ActiveRecord queries work as usual with the following differences:
79
-
80
- * The default query of "*" is changed to include the OID of each row for subclass discrimination. The default select will be `SELECT cast("accounts"."tableoid"::regclass AS text), "accounts".*`
81
-
82
95
  ## Contributing
83
96
 
84
97
  1. Fork it ( https://github.com/[my-github-username]/active_record-mti/fork )
@@ -8,23 +8,36 @@ Gem::Specification.new do |spec|
8
8
  spec.version = ActiveRecord::MTI::VERSION
9
9
  spec.authors = ["Dale Stevens"]
10
10
  spec.email = ["dale@twilightcoders.net"]
11
+
11
12
  spec.summary = %q{Multi Table Inheritance for PostgreSQL in Rails}
12
13
  spec.description = %q{Allows use of native inherited tables in PostgreSQL}
13
14
  spec.homepage = ""
14
15
  spec.license = "MIT"
15
16
 
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
17
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
19
+ if spec.respond_to?(:metadata)
20
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
21
+ else
22
+ raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
23
+ end
24
+
25
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
+ spec.bindir = 'exe'
27
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ['lib']
20
29
 
21
- spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency 'rake', '~> 0'
30
+ rails_versions = ['>= 4.1', '< 5']
31
+ spec.required_ruby_version = '>= 2.0.0'
23
32
 
24
- spec.add_dependency 'pg', '~> 0'
33
+ spec.add_runtime_dependency 'pg', '~> 0'
34
+ spec.add_runtime_dependency 'activerecord', rails_versions
25
35
 
26
- spec.add_dependency 'activerecord', '~> 4.1', '> 4.1'
27
- spec.add_dependency 'railties', '~> 4.1', '> 4.1'
28
- spec.add_dependency 'activesupport', '~> 4.1', '> 4.1'
36
+ spec.add_development_dependency 'pry-byebug'
37
+ spec.add_development_dependency 'bundler', '~> 1.3'
38
+ spec.add_development_dependency 'rake', '~> 10.0'
39
+ spec.add_development_dependency 'rspec', '~> 3.0'
40
+ spec.add_development_dependency "simplecov", ['>= 0.9.0', '<1.0.0']
41
+ spec.add_development_dependency "codeclimate-test-reporter", "~> 1.0"
29
42
 
30
43
  end
@@ -1,22 +1,27 @@
1
1
  require 'active_record/mti/version'
2
- require 'active_record/mti/railtie'
3
2
  require 'active_record'
4
3
  require 'active_record/connection_handling'
5
4
  require 'active_record/mti/schema_dumper'
6
5
  require 'active_record/mti/inheritance'
6
+ require 'active_record/mti/model_schema'
7
7
  require 'active_record/mti/query_methods'
8
8
  require 'active_record/mti/calculations'
9
9
  require 'active_record/mti/connection_adapters/postgresql/schema_statements'
10
10
 
11
+ require 'active_record/mti/railtie' if defined?(Rails::Railtie)
12
+
11
13
  module ActiveRecord
12
14
  module MTI
13
- # Your code goes here...
15
+
16
+ def self.root
17
+ @root ||= Pathname.new(File.expand_path('../../', File.dirname(__FILE__)))
18
+ end
19
+
14
20
  def self.load
15
- puts "ActiveRecord::MTI loaded"
16
21
  ::ActiveRecord::Base.send :include, Inheritance
22
+ ::ActiveRecord::Base.send :include, ActiveRecord::MTI::ModelSchema
17
23
  ::ActiveRecord::Relation.send :include, QueryMethods
18
24
  ::ActiveRecord::Relation.send :include, ActiveRecord::MTI::Calculations
19
-
20
25
  ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.send :include, ConnectionAdapters::PostgreSQL::SchemaStatements
21
26
  ::ActiveRecord::SchemaDumper.send :include, ActiveRecord::MTI::SchemaDumper
22
27
  end
@@ -52,7 +52,7 @@ module ActiveRecord
52
52
  relation.select_values = select_values
53
53
 
54
54
  # Remove our cast otherwise PSQL will insist that it be included in the GROUP
55
- relation.arel.projections.select!{ |p| p.to_s != "cast(\"#{klass.table_name}\".\"tableoid\"::regclass as text)" } if @klass.using_multi_table_inheritance?
55
+ relation.arel.projections.select!{ |p| p.to_s != "CAST(\"#{klass.table_name}\".\"tableoid\"::regclass AS text)" } if @klass.using_multi_table_inheritance?
56
56
 
57
57
  calculated_data = @klass.connection.select_all(relation, nil, relation.arel.bind_values + bind_values)
58
58
 
@@ -102,7 +102,7 @@ module ActiveRecord
102
102
 
103
103
  # Remove our cast otherwise PSQL will insist that it be included in the GROUP
104
104
  # Somewhere between line 82 and 101 relation.arel.projections gets reset :/
105
- relation.arel.projections.select!{ |p| p.to_s != "cast(\"#{klass.table_name}\".\"tableoid\"::regclass as text)" } if @klass.using_multi_table_inheritance?
105
+ relation.arel.projections.select!{ |p| p.to_s != "CAST(\"#{klass.table_name}\".\"tableoid\"::regclass AS text)" } if @klass.using_multi_table_inheritance?
106
106
 
107
107
  query_builder = relation.arel
108
108
  bind_values = query_builder.bind_values + relation.bind_values
@@ -61,8 +61,15 @@ module ActiveRecord
61
61
  if parent_table
62
62
  parent_table_primary_key = primary_key(parent_table)
63
63
  execute %Q(ALTER TABLE "#{table_name}" ADD PRIMARY KEY ("#{parent_table_primary_key}"))
64
+
65
+
64
66
  indexes(parent_table).each do |index|
65
- add_index table_name, index.columns, :unique => index.unique
67
+ attributes = index.to_h.slice(:unique, :using, :where, :orders)
68
+
69
+ # Why rails insists on being inconsistant with itself is beyond me.
70
+ attributes[:order] = attributes.delete(:orders)
71
+
72
+ add_index table_name, index.columns, attributes
66
73
  end
67
74
  # triggers_for_table(parent_table).each do |trigger|
68
75
  # name = trigger.first
@@ -76,14 +83,13 @@ module ActiveRecord
76
83
 
77
84
  # Parent of inherited table
78
85
  def parent_tables(table_name)
79
- sql = <<-SQL
86
+ result = exec_query(<<-SQL, "SCHEMA")
80
87
  SELECT pg_namespace.nspname, pg_class.relname
81
88
  FROM pg_catalog.pg_inherits
82
89
  INNER JOIN pg_catalog.pg_class ON (pg_inherits.inhparent = pg_class.oid)
83
90
  INNER JOIN pg_catalog.pg_namespace ON (pg_class.relnamespace = pg_namespace.oid)
84
91
  WHERE inhrelid = '#{table_name}'::regclass
85
92
  SQL
86
- result = exec_query(sql, "SCHEMA")
87
93
  result.map{|a| a['relname']}
88
94
  end
89
95
 
@@ -25,20 +25,30 @@ module ActiveRecord
25
25
  module Inheritance
26
26
  extend ActiveSupport::Concern
27
27
 
28
+ included do
29
+ scope :discern_inheritance, -> {
30
+
31
+ }
32
+ end
33
+
28
34
  module ClassMethods
29
35
 
30
- # We know we're using multi-table inheritance if the inheritance_column is not actually
31
- # present in the DB structure. Thereby implying the inheritance_column is inferred.
32
- # To further isolate usage of multi-table inheritance, the inheritance column must be set
33
- # to 'tableoid'
36
+ def inherited(child)
37
+ child.uses_mti if self.uses_mti?
38
+ super
39
+ end
40
+
41
+ def uses_mti
42
+ self.inheritance_column = nil
43
+ @uses_mti = true
44
+ end
45
+
34
46
  def using_multi_table_inheritance?(klass = self)
35
- @using_multi_table_inheritance ||= if klass.columns_hash.include?(klass.inheritance_column)
36
- false
37
- elsif klass.inheritance_column == 'tableoid' && (klass.descendants.select{ |d| d.table_name != klass.table_name }.any?)
38
- true
39
- else
40
- false
41
- end
47
+ klass.uses_mti?
48
+ end
49
+
50
+ def uses_mti?
51
+ @uses_mti ||= false
42
52
  end
43
53
 
44
54
  private
@@ -47,10 +57,10 @@ module ActiveRecord
47
57
  # record instance. For single-table inheritance, we check the record
48
58
  # for a +type+ column and return the corresponding class.
49
59
  def discriminate_class_for_record(record)
50
- if using_single_table_inheritance?(record)
51
- find_sti_class(record[inheritance_column])
52
- elsif using_multi_table_inheritance?(base_class)
60
+ if using_multi_table_inheritance?(base_class)
53
61
  find_mti_class(record)
62
+ elsif using_single_table_inheritance?(record)
63
+ find_sti_class(record[inheritance_column])
54
64
  else
55
65
  super
56
66
  end
@@ -0,0 +1,24 @@
1
+ module ActiveRecord
2
+ module MTI
3
+ module ModelSchema
4
+ extend ActiveSupport::Concern
5
+
6
+
7
+ module ClassMethods
8
+
9
+ # Computes the table name, (re)sets it internally, and returns it.
10
+ def reset_table_name #:nodoc:
11
+ # binding.pry
12
+ self.table_name = if abstract_class?
13
+ superclass == Base ? nil : superclass.table_name
14
+ elsif superclass.abstract_class? || superclass.using_multi_table_inheritance?
15
+ superclass.table_name || compute_table_name
16
+ else
17
+ compute_table_name
18
+ end
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -6,7 +6,7 @@ module ActiveRecord
6
6
 
7
7
  # Retrieve the OID as well on a default select
8
8
  def build_select(arel)
9
- arel.project("cast(\"#{klass.table_name}\".\"tableoid\"::regclass as text)") if @klass.using_multi_table_inheritance?
9
+ arel.project(tableoid_cast(@klass)) if @klass.using_multi_table_inheritance?
10
10
  # arel.project("\"#{klass.table_name}\".\"tableoid\"::regclass as \"#{klass.inheritance_column}\"") if @klass.using_multi_table_inheritance?
11
11
  if select_values.any?
12
12
  arel.project(*arel_columns(select_values.uniq))
@@ -15,6 +15,12 @@ module ActiveRecord
15
15
  end
16
16
  end
17
17
 
18
+ def tableoid_cast(klass)
19
+ # Arel::Nodes::NamedFunction.new('CAST', [klass.arel_table[:tableoid].as('regclass')])
20
+ # Arel::Nodes::NamedFunction.new('CAST', [@klass.arel_table['tableoid::regclass'].as('regclass')])
21
+ "CAST(\"#{klass.table_name}\".\"tableoid\"::regclass AS text)"
22
+ end
23
+
18
24
  end
19
25
  end
20
26
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module MTI
3
- VERSION = '0.0.6'
3
+ VERSION = '0.0.7'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,117 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record-mti
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dale Stevens
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-28 00:00:00.000000000 Z
11
+ date: 2017-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: pg
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
19
+ version: '0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '4.1'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '5'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '4.1'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '5'
47
+ - !ruby/object:Gem::Dependency
48
+ name: pry-byebug
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
32
52
  - !ruby/object:Gem::Version
33
53
  version: '0'
34
54
  type: :development
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
37
57
  requirements:
38
- - - "~>"
58
+ - - ">="
39
59
  - !ruby/object:Gem::Version
40
60
  version: '0'
41
61
  - !ruby/object:Gem::Dependency
42
- name: pg
62
+ name: bundler
43
63
  requirement: !ruby/object:Gem::Requirement
44
64
  requirements:
45
65
  - - "~>"
46
66
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
67
+ version: '1.3'
68
+ type: :development
49
69
  prerelease: false
50
70
  version_requirements: !ruby/object:Gem::Requirement
51
71
  requirements:
52
72
  - - "~>"
53
73
  - !ruby/object:Gem::Version
54
- version: '0'
74
+ version: '1.3'
55
75
  - !ruby/object:Gem::Dependency
56
- name: activerecord
76
+ name: rake
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
79
  - - "~>"
60
80
  - !ruby/object:Gem::Version
61
- version: '4.1'
62
- - - ">"
63
- - !ruby/object:Gem::Version
64
- version: '4.1'
65
- type: :runtime
81
+ version: '10.0'
82
+ type: :development
66
83
  prerelease: false
67
84
  version_requirements: !ruby/object:Gem::Requirement
68
85
  requirements:
69
86
  - - "~>"
70
87
  - !ruby/object:Gem::Version
71
- version: '4.1'
72
- - - ">"
73
- - !ruby/object:Gem::Version
74
- version: '4.1'
88
+ version: '10.0'
75
89
  - !ruby/object:Gem::Dependency
76
- name: railties
90
+ name: rspec
77
91
  requirement: !ruby/object:Gem::Requirement
78
92
  requirements:
79
93
  - - "~>"
80
94
  - !ruby/object:Gem::Version
81
- version: '4.1'
82
- - - ">"
83
- - !ruby/object:Gem::Version
84
- version: '4.1'
85
- type: :runtime
95
+ version: '3.0'
96
+ type: :development
86
97
  prerelease: false
87
98
  version_requirements: !ruby/object:Gem::Requirement
88
99
  requirements:
89
100
  - - "~>"
90
101
  - !ruby/object:Gem::Version
91
- version: '4.1'
92
- - - ">"
93
- - !ruby/object:Gem::Version
94
- version: '4.1'
102
+ version: '3.0'
95
103
  - !ruby/object:Gem::Dependency
96
- name: activesupport
104
+ name: simplecov
97
105
  requirement: !ruby/object:Gem::Requirement
98
106
  requirements:
99
- - - "~>"
107
+ - - ">="
100
108
  - !ruby/object:Gem::Version
101
- version: '4.1'
102
- - - ">"
109
+ version: 0.9.0
110
+ - - "<"
103
111
  - !ruby/object:Gem::Version
104
- version: '4.1'
105
- type: :runtime
112
+ version: 1.0.0
113
+ type: :development
106
114
  prerelease: false
107
115
  version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 0.9.0
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: 1.0.0
123
+ - !ruby/object:Gem::Dependency
124
+ name: codeclimate-test-reporter
125
+ requirement: !ruby/object:Gem::Requirement
108
126
  requirements:
109
127
  - - "~>"
110
128
  - !ruby/object:Gem::Version
111
- version: '4.1'
112
- - - ">"
129
+ version: '1.0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
113
135
  - !ruby/object:Gem::Version
114
- version: '4.1'
136
+ version: '1.0'
115
137
  description: Allows use of native inherited tables in PostgreSQL
116
138
  email:
117
139
  - dale@twilightcoders.net
@@ -120,8 +142,9 @@ extensions: []
120
142
  extra_rdoc_files: []
121
143
  files:
122
144
  - ".gitignore"
145
+ - ".rspec"
146
+ - ".travis.yml"
123
147
  - Gemfile
124
- - Gemfile.lock
125
148
  - LICENSE.txt
126
149
  - README.md
127
150
  - Rakefile
@@ -130,6 +153,7 @@ files:
130
153
  - lib/active_record/mti/calculations.rb
131
154
  - lib/active_record/mti/connection_adapters/postgresql/schema_statements.rb
132
155
  - lib/active_record/mti/inheritance.rb
156
+ - lib/active_record/mti/model_schema.rb
133
157
  - lib/active_record/mti/query_methods.rb
134
158
  - lib/active_record/mti/querying.rb
135
159
  - lib/active_record/mti/railtie.rb
@@ -138,7 +162,8 @@ files:
138
162
  homepage: ''
139
163
  licenses:
140
164
  - MIT
141
- metadata: {}
165
+ metadata:
166
+ allowed_push_host: https://rubygems.org
142
167
  post_install_message:
143
168
  rdoc_options: []
144
169
  require_paths:
@@ -147,7 +172,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
172
  requirements:
148
173
  - - ">="
149
174
  - !ruby/object:Gem::Version
150
- version: '0'
175
+ version: 2.0.0
151
176
  required_rubygems_version: !ruby/object:Gem::Requirement
152
177
  requirements:
153
178
  - - ">="
@@ -155,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
180
  version: '0'
156
181
  requirements: []
157
182
  rubyforge_project:
158
- rubygems_version: 2.5.1
183
+ rubygems_version: 2.6.11
159
184
  signing_key:
160
185
  specification_version: 4
161
186
  summary: Multi Table Inheritance for PostgreSQL in Rails
@@ -1,80 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- active_record-mti (0.0.6)
5
- activerecord (~> 4.1, > 4.1)
6
- activesupport (~> 4.1, > 4.1)
7
- pg (~> 0)
8
- railties (~> 4.1, > 4.1)
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- actionpack (4.2.8)
14
- actionview (= 4.2.8)
15
- activesupport (= 4.2.8)
16
- rack (~> 1.6)
17
- rack-test (~> 0.6.2)
18
- rails-dom-testing (~> 1.0, >= 1.0.5)
19
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
20
- actionview (4.2.8)
21
- activesupport (= 4.2.8)
22
- builder (~> 3.1)
23
- erubis (~> 2.7.0)
24
- rails-dom-testing (~> 1.0, >= 1.0.5)
25
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
26
- activemodel (4.2.8)
27
- activesupport (= 4.2.8)
28
- builder (~> 3.1)
29
- activerecord (4.2.8)
30
- activemodel (= 4.2.8)
31
- activesupport (= 4.2.8)
32
- arel (~> 6.0)
33
- activesupport (4.2.8)
34
- i18n (~> 0.7)
35
- minitest (~> 5.1)
36
- thread_safe (~> 0.3, >= 0.3.4)
37
- tzinfo (~> 1.1)
38
- arel (6.0.4)
39
- builder (3.2.3)
40
- erubis (2.7.0)
41
- i18n (0.8.1)
42
- loofah (2.0.3)
43
- nokogiri (>= 1.5.9)
44
- mini_portile2 (2.1.0)
45
- minitest (5.10.1)
46
- nokogiri (1.7.1)
47
- mini_portile2 (~> 2.1.0)
48
- pg (0.20.0)
49
- rack (1.6.5)
50
- rack-test (0.6.3)
51
- rack (>= 1.0)
52
- rails-deprecated_sanitizer (1.0.3)
53
- activesupport (>= 4.2.0.alpha)
54
- rails-dom-testing (1.0.8)
55
- activesupport (>= 4.2.0.beta, < 5.0)
56
- nokogiri (~> 1.6)
57
- rails-deprecated_sanitizer (>= 1.0.1)
58
- rails-html-sanitizer (1.0.3)
59
- loofah (~> 2.0)
60
- railties (4.2.8)
61
- actionpack (= 4.2.8)
62
- activesupport (= 4.2.8)
63
- rake (>= 0.8.7)
64
- thor (>= 0.18.1, < 2.0)
65
- rake (0.9.6)
66
- thor (0.19.4)
67
- thread_safe (0.3.6)
68
- tzinfo (1.2.3)
69
- thread_safe (~> 0.1)
70
-
71
- PLATFORMS
72
- ruby
73
-
74
- DEPENDENCIES
75
- active_record-mti!
76
- bundler (~> 1.6)
77
- rake (~> 0)
78
-
79
- BUNDLED WITH
80
- 1.13.6