dbview_cti 0.0.1
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 +9 -0
- data/Gemfile +31 -0
- data/MIT-LICENSE +20 -0
- data/README.md +219 -0
- data/Rakefile +27 -0
- data/dbview_cti.gemspec +24 -0
- data/lib/db_view_cti/connection_adapters/schema_statements.rb +44 -0
- data/lib/db_view_cti/loader.rb +19 -0
- data/lib/db_view_cti/migration/command_recorder.rb +19 -0
- data/lib/db_view_cti/model/cti.rb +129 -0
- data/lib/db_view_cti/model/extensions.rb +25 -0
- data/lib/db_view_cti/names.rb +33 -0
- data/lib/db_view_cti/railtie.rb +11 -0
- data/lib/db_view_cti/sql_generation/migration/base.rb +92 -0
- data/lib/db_view_cti/sql_generation/migration/factory.rb +19 -0
- data/lib/db_view_cti/sql_generation/migration/postgresql.rb +107 -0
- data/lib/db_view_cti/sql_generation/model.rb +60 -0
- data/lib/db_view_cti/version.rb +3 -0
- data/lib/dbview_cti.rb +35 -0
- data/lib/tasks/view-based-cti_tasks.rake +4 -0
- data/spec/dummy-rails-3/.rspec +1 -0
- data/spec/dummy-rails-3/Rakefile +7 -0
- data/spec/dummy-rails-3/app/assets/javascripts/application.js +15 -0
- data/spec/dummy-rails-3/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy-rails-3/app/controllers/application_controller.rb +3 -0
- data/spec/dummy-rails-3/app/helpers/application_helper.rb +2 -0
- data/spec/dummy-rails-3/app/mailers/.gitkeep +0 -0
- data/spec/dummy-rails-3/app/models/.gitkeep +0 -0
- data/spec/dummy-rails-3/app/models/car.rb +4 -0
- data/spec/dummy-rails-3/app/models/motor_cycle.rb +4 -0
- data/spec/dummy-rails-3/app/models/motor_vehicle.rb +4 -0
- data/spec/dummy-rails-3/app/models/rocket_engine.rb +4 -0
- data/spec/dummy-rails-3/app/models/space_ship.rb +4 -0
- data/spec/dummy-rails-3/app/models/space_shuttle.rb +4 -0
- data/spec/dummy-rails-3/app/models/vehicle.rb +4 -0
- data/spec/dummy-rails-3/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy-rails-3/config/application.rb +68 -0
- data/spec/dummy-rails-3/config/boot.rb +10 -0
- data/spec/dummy-rails-3/config/database.yml +37 -0
- data/spec/dummy-rails-3/config/environment.rb +5 -0
- data/spec/dummy-rails-3/config/environments/development.rb +37 -0
- data/spec/dummy-rails-3/config/environments/production.rb +67 -0
- data/spec/dummy-rails-3/config/environments/test.rb +37 -0
- data/spec/dummy-rails-3/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-rails-3/config/initializers/dbview_cti.rb +8 -0
- data/spec/dummy-rails-3/config/initializers/inflections.rb +15 -0
- data/spec/dummy-rails-3/config/initializers/mime_types.rb +5 -0
- data/spec/dummy-rails-3/config/initializers/secret_token.rb +7 -0
- data/spec/dummy-rails-3/config/initializers/session_store.rb +8 -0
- data/spec/dummy-rails-3/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-rails-3/config/locales/en.yml +5 -0
- data/spec/dummy-rails-3/config/routes.rb +58 -0
- data/spec/dummy-rails-3/config.ru +4 -0
- data/spec/dummy-rails-3/db/migrate/20130711214909_create_vehicles.rb +10 -0
- data/spec/dummy-rails-3/db/migrate/20130713133605_create_motor_vehicles.rb +13 -0
- data/spec/dummy-rails-3/db/migrate/20130713133705_create_cars.rb +13 -0
- data/spec/dummy-rails-3/db/migrate/20130713153631_create_motor_cycles.rb +12 -0
- data/spec/dummy-rails-3/db/migrate/20130816022212_create_space_ships.rb +13 -0
- data/spec/dummy-rails-3/db/migrate/20130817014120_create_space_shuttles.rb +14 -0
- data/spec/dummy-rails-3/db/migrate/20130817024220_create_rocket_engines.rb +12 -0
- data/spec/dummy-rails-3/db/migrate/20130819040414_add_reliability_to_space_ships.rb +13 -0
- data/spec/dummy-rails-3/db/schema.rb +74 -0
- data/spec/dummy-rails-3/lib/assets/.gitkeep +0 -0
- data/spec/dummy-rails-3/log/.gitkeep +0 -0
- data/spec/dummy-rails-3/public/404.html +26 -0
- data/spec/dummy-rails-3/public/422.html +26 -0
- data/spec/dummy-rails-3/public/500.html +25 -0
- data/spec/dummy-rails-3/public/favicon.ico +0 -0
- data/spec/dummy-rails-3/script/rails +6 -0
- data/spec/dummy-rails-4/.rspec +1 -0
- data/spec/dummy-rails-4/Rakefile +6 -0
- data/spec/dummy-rails-4/app/assets/images/.keep +0 -0
- data/spec/dummy-rails-4/app/assets/javascripts/application.js +13 -0
- data/spec/dummy-rails-4/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy-rails-4/app/controllers/application_controller.rb +5 -0
- data/spec/dummy-rails-4/app/controllers/concerns/.keep +0 -0
- data/spec/dummy-rails-4/app/helpers/application_helper.rb +2 -0
- data/spec/dummy-rails-4/app/mailers/.keep +0 -0
- data/spec/dummy-rails-4/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy-rails-4/bin/bundle +3 -0
- data/spec/dummy-rails-4/bin/rails +4 -0
- data/spec/dummy-rails-4/bin/rake +4 -0
- data/spec/dummy-rails-4/config/application.rb +28 -0
- data/spec/dummy-rails-4/config/boot.rb +5 -0
- data/spec/dummy-rails-4/config/database.yml +37 -0
- data/spec/dummy-rails-4/config/environment.rb +5 -0
- data/spec/dummy-rails-4/config/environments/development.rb +29 -0
- data/spec/dummy-rails-4/config/environments/production.rb +80 -0
- data/spec/dummy-rails-4/config/environments/test.rb +36 -0
- data/spec/dummy-rails-4/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-rails-4/config/initializers/dbview_cti.rb +8 -0
- data/spec/dummy-rails-4/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy-rails-4/config/initializers/inflections.rb +16 -0
- data/spec/dummy-rails-4/config/initializers/mime_types.rb +5 -0
- data/spec/dummy-rails-4/config/initializers/secret_token.rb +12 -0
- data/spec/dummy-rails-4/config/initializers/session_store.rb +3 -0
- data/spec/dummy-rails-4/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-rails-4/config/locales/en.yml +23 -0
- data/spec/dummy-rails-4/config/routes.rb +56 -0
- data/spec/dummy-rails-4/config.ru +4 -0
- data/spec/dummy-rails-4/db/schema.rb +74 -0
- data/spec/dummy-rails-4/lib/assets/.keep +0 -0
- data/spec/dummy-rails-4/log/.keep +0 -0
- data/spec/dummy-rails-4/public/404.html +58 -0
- data/spec/dummy-rails-4/public/422.html +58 -0
- data/spec/dummy-rails-4/public/500.html +57 -0
- data/spec/dummy-rails-4/public/favicon.ico +0 -0
- data/spec/models/car_spec.rb +58 -0
- data/spec/models/motor_vehicle_spec.rb +44 -0
- data/spec/models/space_shuttle_spec.rb +22 -0
- data/spec/models/vehicle_spec.rb +90 -0
- data/spec/spec_helper.rb +40 -0
- metadata +228 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
# Since the gem provides model methods these tests serve as a kind of 'integration tests' for the gem
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Car do
|
5
|
+
before :each do
|
6
|
+
@car = Car.create(:name => 'MyCar', :mass => 1000, :number_of_wheels => 4, :stick_shift => true)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "creates parent-class records on create" do
|
10
|
+
Vehicle.count.should eq 1
|
11
|
+
MotorVehicle.count.should eq 1
|
12
|
+
Car.count.should eq 1
|
13
|
+
MotorCycle.count.should eq 0
|
14
|
+
end
|
15
|
+
|
16
|
+
it "updates properties of ancestor classes" do
|
17
|
+
id = @car.id
|
18
|
+
@car.name = 'Porsche'
|
19
|
+
@car.fuel = 'gasoline'
|
20
|
+
@car.convertible = true
|
21
|
+
@car.save!
|
22
|
+
car = Car.find(id)
|
23
|
+
car.name.should eq 'Porsche'
|
24
|
+
car.mass.should eq 1000
|
25
|
+
car.fuel.should eq 'gasoline'
|
26
|
+
car.stick_shift.should be_true
|
27
|
+
car.convertible.should be_true
|
28
|
+
end
|
29
|
+
|
30
|
+
it "deletes parent-class records on destroy" do
|
31
|
+
@car.destroy
|
32
|
+
Vehicle.count.should eq 0
|
33
|
+
MotorVehicle.count.should eq 0
|
34
|
+
Car.count.should eq 0
|
35
|
+
end
|
36
|
+
|
37
|
+
it "converts to parent classes" do
|
38
|
+
motor_vehicle = @car.convert_to(:motor_vehicle)
|
39
|
+
motor_vehicle.class.name.should eq 'MotorVehicle'
|
40
|
+
motor_vehicle.specialize.id.should eq @car.id
|
41
|
+
vehicle = @car.convert_to(:vehicle)
|
42
|
+
vehicle.class.name.should eq 'Vehicle'
|
43
|
+
vehicle.specialize.id.should eq @car.id
|
44
|
+
end
|
45
|
+
|
46
|
+
it "doesn't convert to non-parent class" do
|
47
|
+
@car.convert_to(:motor_cycle).should be_nil
|
48
|
+
end
|
49
|
+
|
50
|
+
it "correctly reports ascendants" do
|
51
|
+
Car.cti_ascendants.should eq %w( Vehicle MotorVehicle )
|
52
|
+
end
|
53
|
+
|
54
|
+
it "correctly reports descendants" do
|
55
|
+
Car.cti_all_descendants.should eq []
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Since the gem provides model methods these tests serve as a kind of 'integration tests' for the gem
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe MotorVehicle do
|
5
|
+
|
6
|
+
it "correctly specializes to the derived class" do
|
7
|
+
@car = Car.create(:name => 'MyCar')
|
8
|
+
motor_vehicle = MotorVehicle.order(:id).last
|
9
|
+
car = motor_vehicle.specialize
|
10
|
+
car.class.name.should eq 'Car'
|
11
|
+
car.id.should eq @car.id
|
12
|
+
|
13
|
+
@motorcycle = MotorCycle.create(:name => 'MyBike')
|
14
|
+
motor_vehicle = MotorVehicle.order(:id).last
|
15
|
+
motorcycle = motor_vehicle.specialize
|
16
|
+
motorcycle.class.name.should eq 'MotorCycle'
|
17
|
+
motorcycle.id.should eq @motorcycle.id
|
18
|
+
end
|
19
|
+
|
20
|
+
it "correctly converts to the derived classes" do
|
21
|
+
@car = Car.create(:name => 'MyCar')
|
22
|
+
# convert to parent
|
23
|
+
motor_vehicle = @car.convert_to(:motor_vehicle)
|
24
|
+
# convert back to derived class
|
25
|
+
car = motor_vehicle.convert_to(:car)
|
26
|
+
car.class.name.should eq 'Car'
|
27
|
+
car.id.should eq @car.id
|
28
|
+
end
|
29
|
+
|
30
|
+
it "doesn't convert to class outside of hierarchy" do
|
31
|
+
@car = Car.create(:name => 'MyCar')
|
32
|
+
motor_vehicle = @car.convert_to(:motor_vehicle)
|
33
|
+
motor_vehicle.convert_to(:rocket_engine).should be_nil
|
34
|
+
end
|
35
|
+
|
36
|
+
it "correctly reports ascendants" do
|
37
|
+
MotorVehicle.cti_ascendants.should eq %w( Vehicle )
|
38
|
+
end
|
39
|
+
|
40
|
+
it "correctly reports descendants" do
|
41
|
+
MotorVehicle.cti_all_descendants.should eq %w( Car MotorCycle )
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Since the gem provides model methods these tests serve as a kind of 'integration tests' for the gem
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe SpaceShuttle do
|
5
|
+
|
6
|
+
it "raises exception on external foreign key violation caused by destroy" do
|
7
|
+
# test that foreign key contraints to tables outside of the CTI hierarchy
|
8
|
+
# prevent destroy
|
9
|
+
shuttle = SpaceShuttle.create(:name => 'Discovery')
|
10
|
+
rocket_engine = RocketEngine.create(:name => 'Booster',
|
11
|
+
:space_ship_id => shuttle.convert_to(:space_ship).id)
|
12
|
+
expect {
|
13
|
+
shuttle.destroy
|
14
|
+
}.to raise_error
|
15
|
+
end
|
16
|
+
|
17
|
+
it "stores attributes that were added to ascendant classes after initial creation of the tables" do
|
18
|
+
shuttle = SpaceShuttle.create(:name => 'Discovery', :reliability => 100)
|
19
|
+
shuttle.convert_to(:space_ship).reliability.should eq 100
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# Since the gem provides model methods these tests serve as a kind of 'integration tests' for the gem
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Vehicle do
|
5
|
+
|
6
|
+
it "correctly specializes to the derived class" do
|
7
|
+
@car = Car.create(:name => 'MyCar')
|
8
|
+
vehicle = Vehicle.order(:id).last
|
9
|
+
car = vehicle.specialize
|
10
|
+
car.class.name.should eq 'Car'
|
11
|
+
car.id.should eq @car.id
|
12
|
+
|
13
|
+
@motorcycle = MotorCycle.create(:name => 'MyBike')
|
14
|
+
vehicle = Vehicle.order(:id).last
|
15
|
+
motorcycle = vehicle.specialize
|
16
|
+
motorcycle.class.name.should eq 'MotorCycle'
|
17
|
+
motorcycle.id.should eq @motorcycle.id
|
18
|
+
|
19
|
+
@motor_vehicle = MotorVehicle.create(:name => 'MyTrike')
|
20
|
+
vehicle = Vehicle.order(:id).last
|
21
|
+
motor_vehicle = vehicle.specialize
|
22
|
+
motor_vehicle.class.name.should eq 'MotorVehicle'
|
23
|
+
motor_vehicle.id.should eq @motor_vehicle.id
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns the correct type" do
|
27
|
+
@car = Car.create(:name => 'MyCar')
|
28
|
+
vehicle = Vehicle.order(:id).last
|
29
|
+
vehicle.type.should eq 'Car'
|
30
|
+
|
31
|
+
@motorcycle = MotorCycle.create(:name => 'MyBike')
|
32
|
+
vehicle = Vehicle.order(:id).last
|
33
|
+
vehicle.type.should eq 'MotorCycle'
|
34
|
+
|
35
|
+
@motor_vehicle = MotorVehicle.create(:name => 'MyTrike')
|
36
|
+
vehicle = Vehicle.order(:id).last
|
37
|
+
vehicle.type.should eq 'MotorVehicle'
|
38
|
+
end
|
39
|
+
|
40
|
+
it "also destroys rows belonging to derived classes on destroy" do
|
41
|
+
test_destroy_variant(:destroy)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "also destroys rows belonging to derived classes on delete" do
|
45
|
+
test_destroy_variant(:delete)
|
46
|
+
end
|
47
|
+
|
48
|
+
it "also destroys rows belonging to derived classes on destroy!" do
|
49
|
+
test_destroy_variant(:destroy!) if Vehicle.method_defined?(:destroy!)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_destroy_variant(method)
|
53
|
+
car = Car.create(:name => 'MyCar')
|
54
|
+
Vehicle.count.should eq 1
|
55
|
+
Car.cti_table_count.should eq 1
|
56
|
+
MotorVehicle.cti_table_count.should eq 1
|
57
|
+
vehicle = Vehicle.order(:id).last
|
58
|
+
vehicle.send(method)
|
59
|
+
Vehicle.count.should eq 0
|
60
|
+
Car.cti_table_count.should eq 0
|
61
|
+
MotorVehicle.cti_table_count.should eq 0
|
62
|
+
# do the same for the space-branch (which has foreign key constraints)
|
63
|
+
shuttle = SpaceShuttle.create(:name => 'Discovery')
|
64
|
+
Vehicle.count.should eq 1
|
65
|
+
SpaceShuttle.cti_table_count.should eq 1
|
66
|
+
SpaceShip.cti_table_count.should eq 1
|
67
|
+
vehicle = Vehicle.order(:id).last
|
68
|
+
vehicle.send(method)
|
69
|
+
Vehicle.count.should eq 0
|
70
|
+
SpaceShuttle.cti_table_count.should eq 0
|
71
|
+
SpaceShip.cti_table_count.should eq 0
|
72
|
+
end
|
73
|
+
|
74
|
+
# simply to show that the gem doesn't interfere with foreign keys
|
75
|
+
it "raises an exception on foreign key violation" do
|
76
|
+
shuttle = SpaceShuttle.create(:name => 'Discovery')
|
77
|
+
expect {
|
78
|
+
Vehicle.delete_all
|
79
|
+
}.to raise_error
|
80
|
+
end
|
81
|
+
|
82
|
+
it "correctly reports ascendants" do
|
83
|
+
Vehicle.cti_ascendants.should eq []
|
84
|
+
end
|
85
|
+
|
86
|
+
it "correctly reports descendants" do
|
87
|
+
Vehicle.cti_all_descendants.should eq %w( MotorVehicle Car MotorCycle SpaceShip SpaceShuttle )
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
ENV["RAILS_ENV"] ||= 'test'
|
3
|
+
rails_major_version = 3
|
4
|
+
rails_major_version = ENV["RAILS_VERSION"][0] unless ENV["RAILS_VERSION"].nil?
|
5
|
+
require File.expand_path("../dummy-rails-#{rails_major_version}/config/environment", __FILE__)
|
6
|
+
require 'rspec/rails'
|
7
|
+
require 'rspec/autorun'
|
8
|
+
|
9
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
10
|
+
# in spec/support/ and its subdirectories.
|
11
|
+
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
|
12
|
+
|
13
|
+
RSpec.configure do |config|
|
14
|
+
# ## Mock Framework
|
15
|
+
#
|
16
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
17
|
+
#
|
18
|
+
# config.mock_with :mocha
|
19
|
+
# config.mock_with :flexmock
|
20
|
+
# config.mock_with :rr
|
21
|
+
|
22
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
23
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
24
|
+
|
25
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
26
|
+
# examples within a transaction, remove the following line or assign false
|
27
|
+
# instead of true.
|
28
|
+
config.use_transactional_fixtures = true
|
29
|
+
|
30
|
+
# If true, the base class of anonymous controllers will be inferred
|
31
|
+
# automatically. This will be the default behavior in future versions of
|
32
|
+
# rspec-rails.
|
33
|
+
config.infer_base_class_for_anonymous_controllers = false
|
34
|
+
|
35
|
+
# Run specs in random order to surface order dependencies. If you find an
|
36
|
+
# order dependency and want to debug it, you can fix the order by providing
|
37
|
+
# the seed, which is printed after each run.
|
38
|
+
# --seed 1234
|
39
|
+
config.order = "random"
|
40
|
+
end
|
metadata
ADDED
@@ -0,0 +1,228 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dbview_cti
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Michaël Van Damme
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-08-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.2.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.2.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec-rails
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activerecord-postgresql-adapter
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: foreigner
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: This gem implements Class Table Inheritance (CTI) for Rails using database
|
79
|
+
views.
|
80
|
+
email:
|
81
|
+
- michael.vandamme@vub.ac.be
|
82
|
+
executables: []
|
83
|
+
extensions: []
|
84
|
+
extra_rdoc_files: []
|
85
|
+
files:
|
86
|
+
- .gitignore
|
87
|
+
- Gemfile
|
88
|
+
- MIT-LICENSE
|
89
|
+
- README.md
|
90
|
+
- Rakefile
|
91
|
+
- dbview_cti.gemspec
|
92
|
+
- lib/db_view_cti/connection_adapters/schema_statements.rb
|
93
|
+
- lib/db_view_cti/loader.rb
|
94
|
+
- lib/db_view_cti/migration/command_recorder.rb
|
95
|
+
- lib/db_view_cti/model/cti.rb
|
96
|
+
- lib/db_view_cti/model/extensions.rb
|
97
|
+
- lib/db_view_cti/names.rb
|
98
|
+
- lib/db_view_cti/railtie.rb
|
99
|
+
- lib/db_view_cti/sql_generation/migration/base.rb
|
100
|
+
- lib/db_view_cti/sql_generation/migration/factory.rb
|
101
|
+
- lib/db_view_cti/sql_generation/migration/postgresql.rb
|
102
|
+
- lib/db_view_cti/sql_generation/model.rb
|
103
|
+
- lib/db_view_cti/version.rb
|
104
|
+
- lib/dbview_cti.rb
|
105
|
+
- lib/tasks/view-based-cti_tasks.rake
|
106
|
+
- spec/dummy-rails-3/.rspec
|
107
|
+
- spec/dummy-rails-3/Rakefile
|
108
|
+
- spec/dummy-rails-3/app/assets/javascripts/application.js
|
109
|
+
- spec/dummy-rails-3/app/assets/stylesheets/application.css
|
110
|
+
- spec/dummy-rails-3/app/controllers/application_controller.rb
|
111
|
+
- spec/dummy-rails-3/app/helpers/application_helper.rb
|
112
|
+
- spec/dummy-rails-3/app/mailers/.gitkeep
|
113
|
+
- spec/dummy-rails-3/app/models/.gitkeep
|
114
|
+
- spec/dummy-rails-3/app/models/car.rb
|
115
|
+
- spec/dummy-rails-3/app/models/motor_cycle.rb
|
116
|
+
- spec/dummy-rails-3/app/models/motor_vehicle.rb
|
117
|
+
- spec/dummy-rails-3/app/models/rocket_engine.rb
|
118
|
+
- spec/dummy-rails-3/app/models/space_ship.rb
|
119
|
+
- spec/dummy-rails-3/app/models/space_shuttle.rb
|
120
|
+
- spec/dummy-rails-3/app/models/vehicle.rb
|
121
|
+
- spec/dummy-rails-3/app/views/layouts/application.html.erb
|
122
|
+
- spec/dummy-rails-3/config.ru
|
123
|
+
- spec/dummy-rails-3/config/application.rb
|
124
|
+
- spec/dummy-rails-3/config/boot.rb
|
125
|
+
- spec/dummy-rails-3/config/database.yml
|
126
|
+
- spec/dummy-rails-3/config/environment.rb
|
127
|
+
- spec/dummy-rails-3/config/environments/development.rb
|
128
|
+
- spec/dummy-rails-3/config/environments/production.rb
|
129
|
+
- spec/dummy-rails-3/config/environments/test.rb
|
130
|
+
- spec/dummy-rails-3/config/initializers/backtrace_silencers.rb
|
131
|
+
- spec/dummy-rails-3/config/initializers/dbview_cti.rb
|
132
|
+
- spec/dummy-rails-3/config/initializers/inflections.rb
|
133
|
+
- spec/dummy-rails-3/config/initializers/mime_types.rb
|
134
|
+
- spec/dummy-rails-3/config/initializers/secret_token.rb
|
135
|
+
- spec/dummy-rails-3/config/initializers/session_store.rb
|
136
|
+
- spec/dummy-rails-3/config/initializers/wrap_parameters.rb
|
137
|
+
- spec/dummy-rails-3/config/locales/en.yml
|
138
|
+
- spec/dummy-rails-3/config/routes.rb
|
139
|
+
- spec/dummy-rails-3/db/migrate/20130711214909_create_vehicles.rb
|
140
|
+
- spec/dummy-rails-3/db/migrate/20130713133605_create_motor_vehicles.rb
|
141
|
+
- spec/dummy-rails-3/db/migrate/20130713133705_create_cars.rb
|
142
|
+
- spec/dummy-rails-3/db/migrate/20130713153631_create_motor_cycles.rb
|
143
|
+
- spec/dummy-rails-3/db/migrate/20130816022212_create_space_ships.rb
|
144
|
+
- spec/dummy-rails-3/db/migrate/20130817014120_create_space_shuttles.rb
|
145
|
+
- spec/dummy-rails-3/db/migrate/20130817024220_create_rocket_engines.rb
|
146
|
+
- spec/dummy-rails-3/db/migrate/20130819040414_add_reliability_to_space_ships.rb
|
147
|
+
- spec/dummy-rails-3/db/schema.rb
|
148
|
+
- spec/dummy-rails-3/lib/assets/.gitkeep
|
149
|
+
- spec/dummy-rails-3/log/.gitkeep
|
150
|
+
- spec/dummy-rails-3/public/404.html
|
151
|
+
- spec/dummy-rails-3/public/422.html
|
152
|
+
- spec/dummy-rails-3/public/500.html
|
153
|
+
- spec/dummy-rails-3/public/favicon.ico
|
154
|
+
- spec/dummy-rails-3/script/rails
|
155
|
+
- spec/dummy-rails-4/.rspec
|
156
|
+
- spec/dummy-rails-4/Rakefile
|
157
|
+
- spec/dummy-rails-4/app/assets/images/.keep
|
158
|
+
- spec/dummy-rails-4/app/assets/javascripts/application.js
|
159
|
+
- spec/dummy-rails-4/app/assets/stylesheets/application.css
|
160
|
+
- spec/dummy-rails-4/app/controllers/application_controller.rb
|
161
|
+
- spec/dummy-rails-4/app/controllers/concerns/.keep
|
162
|
+
- spec/dummy-rails-4/app/helpers/application_helper.rb
|
163
|
+
- spec/dummy-rails-4/app/mailers/.keep
|
164
|
+
- spec/dummy-rails-4/app/views/layouts/application.html.erb
|
165
|
+
- spec/dummy-rails-4/bin/bundle
|
166
|
+
- spec/dummy-rails-4/bin/rails
|
167
|
+
- spec/dummy-rails-4/bin/rake
|
168
|
+
- spec/dummy-rails-4/config.ru
|
169
|
+
- spec/dummy-rails-4/config/application.rb
|
170
|
+
- spec/dummy-rails-4/config/boot.rb
|
171
|
+
- spec/dummy-rails-4/config/database.yml
|
172
|
+
- spec/dummy-rails-4/config/environment.rb
|
173
|
+
- spec/dummy-rails-4/config/environments/development.rb
|
174
|
+
- spec/dummy-rails-4/config/environments/production.rb
|
175
|
+
- spec/dummy-rails-4/config/environments/test.rb
|
176
|
+
- spec/dummy-rails-4/config/initializers/backtrace_silencers.rb
|
177
|
+
- spec/dummy-rails-4/config/initializers/dbview_cti.rb
|
178
|
+
- spec/dummy-rails-4/config/initializers/filter_parameter_logging.rb
|
179
|
+
- spec/dummy-rails-4/config/initializers/inflections.rb
|
180
|
+
- spec/dummy-rails-4/config/initializers/mime_types.rb
|
181
|
+
- spec/dummy-rails-4/config/initializers/secret_token.rb
|
182
|
+
- spec/dummy-rails-4/config/initializers/session_store.rb
|
183
|
+
- spec/dummy-rails-4/config/initializers/wrap_parameters.rb
|
184
|
+
- spec/dummy-rails-4/config/locales/en.yml
|
185
|
+
- spec/dummy-rails-4/config/routes.rb
|
186
|
+
- spec/dummy-rails-4/db/schema.rb
|
187
|
+
- spec/dummy-rails-4/lib/assets/.keep
|
188
|
+
- spec/dummy-rails-4/log/.keep
|
189
|
+
- spec/dummy-rails-4/public/404.html
|
190
|
+
- spec/dummy-rails-4/public/422.html
|
191
|
+
- spec/dummy-rails-4/public/500.html
|
192
|
+
- spec/dummy-rails-4/public/favicon.ico
|
193
|
+
- spec/models/car_spec.rb
|
194
|
+
- spec/models/motor_vehicle_spec.rb
|
195
|
+
- spec/models/space_shuttle_spec.rb
|
196
|
+
- spec/models/vehicle_spec.rb
|
197
|
+
- spec/spec_helper.rb
|
198
|
+
homepage: https://github.com/mvdamme/dbview_cti
|
199
|
+
licenses: []
|
200
|
+
post_install_message:
|
201
|
+
rdoc_options: []
|
202
|
+
require_paths:
|
203
|
+
- lib
|
204
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
205
|
+
none: false
|
206
|
+
requirements:
|
207
|
+
- - ! '>='
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
210
|
+
segments:
|
211
|
+
- 0
|
212
|
+
hash: -2210923641893845422
|
213
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
|
+
none: false
|
215
|
+
requirements:
|
216
|
+
- - ! '>='
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: '0'
|
219
|
+
segments:
|
220
|
+
- 0
|
221
|
+
hash: -2210923641893845422
|
222
|
+
requirements: []
|
223
|
+
rubyforge_project:
|
224
|
+
rubygems_version: 1.8.25
|
225
|
+
signing_key:
|
226
|
+
specification_version: 3
|
227
|
+
summary: Class Table Inheritance (CTI) for Rails.
|
228
|
+
test_files: []
|