updateable_views_inheritance 1.3.0 → 1.4.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +4 -0
- data/README.rdoc +2 -2
- data/lib/generators/updateable_views_inheritance/install_generator.rb +9 -5
- data/lib/updateable_views_inheritance/active_record.rb +3 -3
- data/lib/updateable_views_inheritance/postgresql_adapter.rb +1 -1
- data/lib/updateable_views_inheritance/version.rb +1 -1
- data/test/content_test.rb +11 -11
- data/test/deep_hierarchy_test.rb +3 -3
- data/test/dummy/config/application.rb +0 -6
- data/test/dummy/config/environments/development.rb +2 -6
- data/test/dummy/config/environments/production.rb +3 -1
- data/test/dummy/config/environments/test.rb +4 -8
- data/test/schema_test.rb +3 -3
- data/test/single_table_inheritance.rb +3 -3
- data/test/test_helper.rb +4 -0
- data/updateable_views_inheritance.gemspec +5 -3
- metadata +50 -34
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 45e09cc4af2cc4db1bc1f2e6e0e239a776f52225
|
4
|
+
data.tar.gz: 6b94ebf43678c1b6460b51593ac58996f1c321d7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7ad853ebd983df228e8899adcc559fcbc8915a8173baf8f494355bba958cf772273474fff9c660799b419371a83f08c62c34de3ae2b58f39404a21dd880827e1
|
7
|
+
data.tar.gz: 1dd0fa4ef83a31709cdb87e1d2e61dd6c712428d258ca79523412aee819c0f166ddebdd059452c94813724d665220e48d1ed98d7e82cd7c3a8f058fb48106bec
|
data/CHANGELOG.md
CHANGED
data/README.rdoc
CHANGED
@@ -9,9 +9,9 @@ Wilger}[http://web.archive.org/web/20060408145717/johnwilger.com/articles/2005/0
|
|
9
9
|
|
10
10
|
==Requirements
|
11
11
|
|
12
|
-
Rails:
|
12
|
+
Rails: 4.x
|
13
13
|
|
14
|
-
Ruby:
|
14
|
+
Ruby: 1.9.3+
|
15
15
|
|
16
16
|
Database: PostgreSQL 8.1+ only. Patches for other DBMS are welcome. Note that you are not required to use updateable views, children relations can be tables (with some triggers involved) or materialized views.
|
17
17
|
|
@@ -6,12 +6,16 @@ module UpdateableViewsInheritance
|
|
6
6
|
module Generators
|
7
7
|
class InstallGenerator < Rails::Generators::Base
|
8
8
|
include Rails::Generators::Migration
|
9
|
-
|
10
|
-
|
11
|
-
desc "Creates a migration that creates a special table used by the updateable_views_inheritance gem."
|
9
|
+
|
10
|
+
desc "Creates a migration for a special table used by the updateable_views_inheritance gem"
|
12
11
|
source_root File.expand_path('../templates', __FILE__)
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
# Implement the required interface for Rails::Generators::Migration
|
14
|
+
def self.next_migration_number(dirname)
|
15
|
+
ActiveRecord::Generators::Base.next_migration_number(dirname)
|
16
|
+
end
|
17
|
+
|
18
|
+
def install
|
15
19
|
migration_file = "create_updateable_views_inheritance.rb"
|
16
20
|
migration_template migration_file, "db/migrate/#{migration_file}"
|
17
21
|
end
|
@@ -2,12 +2,12 @@ module ActiveRecord #:nodoc:
|
|
2
2
|
class Base #:nodoc:
|
3
3
|
class << self
|
4
4
|
private
|
5
|
-
def instantiate_with_updateable_views_inheritance_support(
|
6
|
-
object = instantiate_without_updateable_views_inheritance_support(
|
5
|
+
def instantiate_with_updateable_views_inheritance_support(attributes, column_types = {})
|
6
|
+
object = instantiate_without_updateable_views_inheritance_support(attributes, column_types = {})
|
7
7
|
if object.class.name == self.name
|
8
8
|
object
|
9
9
|
else
|
10
|
-
object.class.find(
|
10
|
+
object.class.find(attributes.with_indifferent_access[:id])
|
11
11
|
end
|
12
12
|
end
|
13
13
|
alias_method_chain :instantiate, :updateable_views_inheritance_support
|
@@ -125,7 +125,7 @@ module ActiveRecord #:nodoc:
|
|
125
125
|
|
126
126
|
# Return the list of all views in the schema search path.
|
127
127
|
def views(name=nil)
|
128
|
-
schemas = schema_search_path.split(
|
128
|
+
schemas = schema_search_path.split(/,\s*/).map { |p| quote(p) }.join(',')
|
129
129
|
query(<<-SQL, name).map { |row| row[0] }
|
130
130
|
SELECT viewname
|
131
131
|
FROM pg_views
|
data/test/content_test.rb
CHANGED
@@ -6,11 +6,11 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def teardown
|
9
|
-
ActiveRecord::
|
9
|
+
ActiveRecord::FixtureSet.reset_cache
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_find
|
13
|
-
ActiveRecord::
|
13
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
14
14
|
locomotive = Locomotive.find(1)
|
15
15
|
assert locomotive.kind_of?(SteamLocomotive)
|
16
16
|
assert_equal %w(coal_consumption id max_speed name type water_consumption),
|
@@ -19,8 +19,8 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
19
19
|
|
20
20
|
def test_exec_query
|
21
21
|
# order of fixtures is important for the test - last loaded should not be with max(id)
|
22
|
-
ActiveRecord::
|
23
|
-
ActiveRecord::
|
22
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :electric_locomotives)
|
23
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
24
24
|
|
25
25
|
res = ActiveRecord::Base.connection.exec_query(<<-SQL)
|
26
26
|
INSERT INTO electric_locomotives (electricity_consumption, max_speed, name, type)
|
@@ -32,8 +32,8 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
32
32
|
|
33
33
|
def test_exec_query_with_prepared_statement
|
34
34
|
# order of fixtures is important for the test - last loaded should not be with max(id)
|
35
|
-
ActiveRecord::
|
36
|
-
ActiveRecord::
|
35
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :electric_locomotives)
|
36
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
37
37
|
|
38
38
|
binds = [[ElectricLocomotive.columns.find { |c| c.name == 'electricity_consumption'}, 40],
|
39
39
|
[ElectricLocomotive.columns.find { |c| c.name == 'max_speed'}, 120],
|
@@ -54,8 +54,8 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
54
54
|
|
55
55
|
def test_reset_sequence_after_loading_fixture
|
56
56
|
# order of fixtures is important for the test - last loaded should not be with max(id)
|
57
|
-
ActiveRecord::
|
58
|
-
ActiveRecord::
|
57
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :electric_locomotives)
|
58
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
59
59
|
steam_locomotive = SteamLocomotive.new(:name => 'Mogul', :max_speed => 120, :water_consumption => 12.3, :coal_consumption => 54.6)
|
60
60
|
assert steam_locomotive.save
|
61
61
|
mogul = Locomotive.find(steam_locomotive.id)
|
@@ -63,7 +63,7 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def test_update
|
66
|
-
ActiveRecord::
|
66
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
67
67
|
steam_locomotive = Locomotive.find(1)
|
68
68
|
steam_locomotive.update_attributes( :name => 'Rocket')
|
69
69
|
steam_locomotive.reload
|
@@ -71,7 +71,7 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def test_delete_from_parent_relation
|
74
|
-
ActiveRecord::
|
74
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
75
75
|
num_locomotives = Locomotive.count
|
76
76
|
num_steam_locomotives = SteamLocomotive.count
|
77
77
|
Locomotive.find(1).destroy
|
@@ -80,7 +80,7 @@ class UpdateableViewsInheritanceContentTest < ActiveSupport::TestCase
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def test_delete_from_child_relation
|
83
|
-
ActiveRecord::
|
83
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
84
84
|
num_locomotives = Locomotive.count
|
85
85
|
num_steam_locomotives = SteamLocomotive.count
|
86
86
|
SteamLocomotive.find(1).destroy
|
data/test/deep_hierarchy_test.rb
CHANGED
@@ -5,13 +5,13 @@ class DeepHierarchyTest < ActiveSupport::TestCase
|
|
5
5
|
ActiveRecord::Migrator.up(File.dirname(__FILE__) + '/fixtures/migrations/', 8)
|
6
6
|
# order of fixtures is important for the test - last loaded should not be with max(id)
|
7
7
|
%w(boats electric_trains rack_trains steam_trains cars maglev_trains bicycles).each do |f|
|
8
|
-
ActiveRecord::
|
8
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', f)
|
9
9
|
end
|
10
10
|
@connection = ActiveRecord::Base.connection
|
11
11
|
end
|
12
12
|
|
13
13
|
def teardown
|
14
|
-
ActiveRecord::
|
14
|
+
ActiveRecord::FixtureSet.reset_cache
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_deeper_hierarchy
|
@@ -42,7 +42,7 @@ class DeepHierarchyTest < ActiveSupport::TestCase
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_single_table_inheritance_deeper_hierarchy_contents
|
45
|
-
mag = MaglevTrain.
|
45
|
+
mag = MaglevTrain.first
|
46
46
|
assert_equal [mag.id.to_s, mag.name, mag.number_of_rails.to_s, mag.max_speed.to_s, mag.magnetic_field.to_s, (sprintf("%.2f",mag.electricity_consumption))], (@connection.query("SELECT id, name, number_of_rails, max_speed, magnetic_field, electricity_consumption FROM all_vehicles WHERE id=#{mag.id}").first)
|
47
47
|
end
|
48
48
|
|
@@ -43,12 +43,6 @@ module Dummy
|
|
43
43
|
# like if you have constraints or database-specific column types
|
44
44
|
# config.active_record.schema_format = :sql
|
45
45
|
|
46
|
-
# Enforce whitelist mode for mass assignment.
|
47
|
-
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
48
|
-
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
49
|
-
# parameters by using an attr_accessible or attr_protected declaration.
|
50
|
-
config.active_record.whitelist_attributes = false
|
51
|
-
|
52
46
|
# Enable the asset pipeline
|
53
47
|
config.assets.enabled = true
|
54
48
|
|
@@ -6,9 +6,6 @@ Dummy::Application.configure do
|
|
6
6
|
# since you don't have to restart the web server when you make code changes.
|
7
7
|
config.cache_classes = false
|
8
8
|
|
9
|
-
# Log error messages when you accidentally call methods on nil.
|
10
|
-
config.whiny_nils = true
|
11
|
-
|
12
9
|
# Show full error reports and disable caching
|
13
10
|
config.consider_all_requests_local = true
|
14
11
|
config.action_controller.perform_caching = false
|
@@ -22,9 +19,6 @@ Dummy::Application.configure do
|
|
22
19
|
# Only use best-standards-support built into browsers
|
23
20
|
config.action_dispatch.best_standards_support = :builtin
|
24
21
|
|
25
|
-
# Raise exception on mass assignment protection for Active Record models
|
26
|
-
config.active_record.mass_assignment_sanitizer = :strict
|
27
|
-
|
28
22
|
# Log the query plan for queries taking more than this (works
|
29
23
|
# with SQLite, MySQL, and PostgreSQL)
|
30
24
|
config.active_record.auto_explain_threshold_in_seconds = 0.5
|
@@ -34,4 +28,6 @@ Dummy::Application.configure do
|
|
34
28
|
|
35
29
|
# Expands the lines which load the assets
|
36
30
|
config.assets.debug = true
|
31
|
+
|
32
|
+
config.eager_load = false
|
37
33
|
end
|
@@ -9,7 +9,7 @@ Dummy::Application.configure do
|
|
9
9
|
config.action_controller.perform_caching = true
|
10
10
|
|
11
11
|
# Disable Rails's static asset server (Apache or nginx will already do this)
|
12
|
-
config.
|
12
|
+
config.serve_static_files = false
|
13
13
|
|
14
14
|
# Compress JavaScripts and CSS
|
15
15
|
config.assets.compress = true
|
@@ -64,4 +64,6 @@ Dummy::Application.configure do
|
|
64
64
|
# Log the query plan for queries taking more than this (works
|
65
65
|
# with SQLite, MySQL, and PostgreSQL)
|
66
66
|
# config.active_record.auto_explain_threshold_in_seconds = 0.5
|
67
|
+
|
68
|
+
config.eager_load = false
|
67
69
|
end
|
@@ -8,12 +8,9 @@ Dummy::Application.configure do
|
|
8
8
|
config.cache_classes = true
|
9
9
|
|
10
10
|
# Configure static asset server for tests with Cache-Control for performance
|
11
|
-
config.
|
11
|
+
config.serve_static_files = true
|
12
12
|
config.static_cache_control = "public, max-age=3600"
|
13
13
|
|
14
|
-
# Log error messages when you accidentally call methods on nil
|
15
|
-
config.whiny_nils = true
|
16
|
-
|
17
14
|
# Show full error reports and disable caching
|
18
15
|
config.consider_all_requests_local = true
|
19
16
|
config.action_controller.perform_caching = false
|
@@ -29,9 +26,8 @@ Dummy::Application.configure do
|
|
29
26
|
# ActionMailer::Base.deliveries array.
|
30
27
|
config.action_mailer.delivery_method = :test
|
31
28
|
|
32
|
-
# Raise exception on mass assignment protection for Active Record models
|
33
|
-
config.active_record.mass_assignment_sanitizer = :strict
|
34
|
-
|
35
29
|
# Print deprecation notices to the stderr
|
36
|
-
config.active_support.deprecation = :stderr
|
30
|
+
config.active_support.deprecation = :stderr;
|
31
|
+
|
32
|
+
config.eager_load = false
|
37
33
|
end
|
data/test/schema_test.rb
CHANGED
@@ -124,9 +124,9 @@ class UpdateableViewsInheritanceSchemaTest < ActiveSupport::TestCase
|
|
124
124
|
|
125
125
|
class RenameColumnInParentTable < ActiveRecord::Migration
|
126
126
|
def self.up
|
127
|
-
ActiveRecord::
|
128
|
-
ActiveRecord::
|
129
|
-
ActiveRecord::
|
127
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :electric_locomotives)
|
128
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :maglev_locomotives)
|
129
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', :steam_locomotives)
|
130
130
|
remove_parent_and_children_views(:locomotives)
|
131
131
|
rename_column(:locomotives, :max_speed, :maximal_speed)
|
132
132
|
rebuild_parent_and_children_views(:locomotives)
|
@@ -5,7 +5,7 @@ class SingleTableInheritanceAggregateViewTest < ActiveSupport::TestCase
|
|
5
5
|
ActiveRecord::Migrator.up(File.dirname(__FILE__) + '/fixtures/migrations/', 6)
|
6
6
|
# order of fixtures is important for the test - last loaded should not be with max(id)
|
7
7
|
%w(electric_locomotives maglev_locomotives steam_locomotives).each do |f|
|
8
|
-
ActiveRecord::
|
8
|
+
ActiveRecord::FixtureSet.create_fixtures(File.dirname(__FILE__) + '/fixtures/', f)
|
9
9
|
end
|
10
10
|
@connection = ActiveRecord::Base.connection
|
11
11
|
end
|
@@ -129,8 +129,8 @@ class SingleTableInheritanceAggregateViewTest < ActiveSupport::TestCase
|
|
129
129
|
assert_equal %w(coal_consumption id max_speed name type water_consumption electricity_consumption bidirectional narrow_gauge magnetic_field rail_system number_of_engines).sort,
|
130
130
|
@connection.columns(:all_locomotives).map{ |c| c.name }.sort
|
131
131
|
assert_equal 'text', @connection.columns(:all_locomotives).detect{|c| c.name == "number_of_engines"}.sql_type
|
132
|
-
assert_equal 'one', @connection.query("SELECT number_of_engines FROM all_locomotives WHERE id=#{SteamLocomotive.
|
133
|
-
assert_equal '2', @connection.query("SELECT number_of_engines FROM all_locomotives WHERE id=#{ElectricLocomotive.
|
132
|
+
assert_equal 'one', @connection.query("SELECT number_of_engines FROM all_locomotives WHERE id=#{SteamLocomotive.first.id}").first.first
|
133
|
+
assert_equal '2', @connection.query("SELECT number_of_engines FROM all_locomotives WHERE id=#{ElectricLocomotive.first.id}").first.first
|
134
134
|
end
|
135
135
|
|
136
136
|
def test_respond_to_missing_attributes
|
data/test/test_helper.rb
CHANGED
@@ -5,6 +5,10 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
|
5
5
|
require 'rails/test_help'
|
6
6
|
require 'updateable_views_inheritance'
|
7
7
|
|
8
|
+
# get full stack trace on errors
|
9
|
+
require "minitest/reporters"
|
10
|
+
Minitest::Reporters.use!
|
11
|
+
|
8
12
|
begin
|
9
13
|
if RUBY_VERSION > "2"
|
10
14
|
require 'byebug'
|
@@ -18,10 +18,12 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_dependency "activerecord", "~>
|
21
|
+
s.add_dependency "activerecord", "~> 4.0.13"
|
22
22
|
s.add_dependency "pg"
|
23
23
|
|
24
|
-
s.add_development_dependency
|
25
|
-
s.add_development_dependency
|
24
|
+
s.add_development_dependency 'minitest'
|
25
|
+
s.add_development_dependency 'minitest-reporters'
|
26
|
+
s.add_development_dependency "rails", "~> 4.0.13"
|
27
|
+
s.add_development_dependency "bundler", "~> 1.3"
|
26
28
|
s.add_development_dependency "rake"
|
27
29
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: updateable_views_inheritance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sava Chankov
|
@@ -10,86 +9,104 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2017-02-02 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: activerecord
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- - ~>
|
18
|
+
- - "~>"
|
21
19
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
20
|
+
version: 4.0.13
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- - ~>
|
25
|
+
- - "~>"
|
29
26
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
27
|
+
version: 4.0.13
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: pg
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - ">="
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '0'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: minitest
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: minitest-reporters
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
45
68
|
- !ruby/object:Gem::Version
|
46
69
|
version: '0'
|
47
70
|
- !ruby/object:Gem::Dependency
|
48
71
|
name: rails
|
49
72
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
73
|
requirements:
|
52
|
-
- - ~>
|
74
|
+
- - "~>"
|
53
75
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
76
|
+
version: 4.0.13
|
55
77
|
type: :development
|
56
78
|
prerelease: false
|
57
79
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
80
|
requirements:
|
60
|
-
- - ~>
|
81
|
+
- - "~>"
|
61
82
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
83
|
+
version: 4.0.13
|
63
84
|
- !ruby/object:Gem::Dependency
|
64
85
|
name: bundler
|
65
86
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
87
|
requirements:
|
68
|
-
- - ~>
|
88
|
+
- - "~>"
|
69
89
|
- !ruby/object:Gem::Version
|
70
90
|
version: '1.3'
|
71
91
|
type: :development
|
72
92
|
prerelease: false
|
73
93
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
94
|
requirements:
|
76
|
-
- - ~>
|
95
|
+
- - "~>"
|
77
96
|
- !ruby/object:Gem::Version
|
78
97
|
version: '1.3'
|
79
98
|
- !ruby/object:Gem::Dependency
|
80
99
|
name: rake
|
81
100
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
101
|
requirements:
|
84
|
-
- -
|
102
|
+
- - ">="
|
85
103
|
- !ruby/object:Gem::Version
|
86
104
|
version: '0'
|
87
105
|
type: :development
|
88
106
|
prerelease: false
|
89
107
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
108
|
requirements:
|
92
|
-
- -
|
109
|
+
- - ">="
|
93
110
|
- !ruby/object:Gem::Version
|
94
111
|
version: '0'
|
95
112
|
description: Class table inheritance for ActiveRecord based on updatable views in
|
@@ -101,7 +118,7 @@ executables: []
|
|
101
118
|
extensions: []
|
102
119
|
extra_rdoc_files: []
|
103
120
|
files:
|
104
|
-
- .gitignore
|
121
|
+
- ".gitignore"
|
105
122
|
- CHANGELOG.md
|
106
123
|
- Gemfile
|
107
124
|
- MIT-LICENSE
|
@@ -191,27 +208,26 @@ files:
|
|
191
208
|
homepage: http://github.com/tutuf/updateable_views_inheritance
|
192
209
|
licenses:
|
193
210
|
- MIT
|
211
|
+
metadata: {}
|
194
212
|
post_install_message:
|
195
213
|
rdoc_options: []
|
196
214
|
require_paths:
|
197
215
|
- lib
|
198
216
|
required_ruby_version: !ruby/object:Gem::Requirement
|
199
|
-
none: false
|
200
217
|
requirements:
|
201
|
-
- -
|
218
|
+
- - ">="
|
202
219
|
- !ruby/object:Gem::Version
|
203
220
|
version: '0'
|
204
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
|
-
none: false
|
206
222
|
requirements:
|
207
|
-
- -
|
223
|
+
- - ">="
|
208
224
|
- !ruby/object:Gem::Version
|
209
225
|
version: '0'
|
210
226
|
requirements: []
|
211
227
|
rubyforge_project:
|
212
|
-
rubygems_version:
|
228
|
+
rubygems_version: 2.4.5.2
|
213
229
|
signing_key:
|
214
|
-
specification_version:
|
230
|
+
specification_version: 4
|
215
231
|
summary: Class table inheritance for ActiveRecord
|
216
232
|
test_files:
|
217
233
|
- test/content_test.rb
|