thirdbase 2.1.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.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.travis.yml +24 -0
  4. data/.yardopts +1 -0
  5. data/Appraisals +19 -0
  6. data/CHANGELOG.md +37 -0
  7. data/Gemfile +2 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +191 -0
  10. data/Rakefile +24 -0
  11. data/VERSION +1 -0
  12. data/gemfiles/rails40.gemfile +8 -0
  13. data/gemfiles/rails41.gemfile +8 -0
  14. data/gemfiles/rails42.gemfile +8 -0
  15. data/gemfiles/rails50.gemfile +8 -0
  16. data/lib/rails/second_base/generators/migration_generator.rb +25 -0
  17. data/lib/third_base.rb +20 -0
  18. data/lib/third_base/base.rb +8 -0
  19. data/lib/third_base/databases.rake +121 -0
  20. data/lib/third_base/databases_rails_five.rake +22 -0
  21. data/lib/third_base/databases_rails_four.rake +22 -0
  22. data/lib/third_base/forced.rb +21 -0
  23. data/lib/third_base/on_base.rb +36 -0
  24. data/lib/third_base/railtie.rb +52 -0
  25. data/lib/third_base/test_help.rb +11 -0
  26. data/lib/third_base/version.rb +3 -0
  27. data/lib/thirdbase.rb +1 -0
  28. data/test/cases/dbtask_test.rb +248 -0
  29. data/test/cases/forced_test.rb +49 -0
  30. data/test/cases/generator_test.rb +64 -0
  31. data/test/cases/on_base_test.rb +35 -0
  32. data/test/cases/railtie_test.rb +31 -0
  33. data/test/cases/rake_test.rb +0 -0
  34. data/test/dummy_apps/rails_five/Rakefile +2 -0
  35. data/test/dummy_apps/rails_five/app/controllers/application_controller.rb +7 -0
  36. data/test/dummy_apps/rails_five/app/helpers/application_helper.rb +3 -0
  37. data/test/dummy_apps/rails_five/app/models/application_record.rb +3 -0
  38. data/test/dummy_apps/rails_five/app/models/comment.rb +6 -0
  39. data/test/dummy_apps/rails_five/app/models/comment_forced.rb +6 -0
  40. data/test/dummy_apps/rails_five/app/models/post.rb +7 -0
  41. data/test/dummy_apps/rails_five/app/models/user.rb +6 -0
  42. data/test/dummy_apps/rails_five/bin/rails +5 -0
  43. data/test/dummy_apps/rails_five/config/database.yml +13 -0
  44. data/test/dummy_apps/rails_five/config/routes.rb +3 -0
  45. data/test/dummy_apps/rails_five/db/migrate/20141209165002_create_users.rb +11 -0
  46. data/test/dummy_apps/rails_five/db/migrate/20141214142700_create_posts.rb +12 -0
  47. data/test/dummy_apps/rails_five/db/secondbase/migrate/20151202075826_create_comments.rb +11 -0
  48. data/test/dummy_apps/rails_five/init.rb +42 -0
  49. data/test/dummy_apps/rails_five/log/.keep +0 -0
  50. data/test/dummy_apps/rails_five/tmp/.keep +0 -0
  51. data/test/dummy_apps/rails_four/Rakefile +2 -0
  52. data/test/dummy_apps/rails_four/app/controllers/application_controller.rb +7 -0
  53. data/test/dummy_apps/rails_four/app/helpers/application_helper.rb +3 -0
  54. data/test/dummy_apps/rails_four/app/models/comment.rb +6 -0
  55. data/test/dummy_apps/rails_four/app/models/comment_forced.rb +6 -0
  56. data/test/dummy_apps/rails_four/app/models/post.rb +7 -0
  57. data/test/dummy_apps/rails_four/app/models/user.rb +6 -0
  58. data/test/dummy_apps/rails_four/bin/rails +5 -0
  59. data/test/dummy_apps/rails_four/config/database.yml +14 -0
  60. data/test/dummy_apps/rails_four/config/routes.rb +3 -0
  61. data/test/dummy_apps/rails_four/db/migrate/20141209165002_create_users.rb +11 -0
  62. data/test/dummy_apps/rails_four/db/migrate/20141214142700_create_posts.rb +12 -0
  63. data/test/dummy_apps/rails_four/db/secondbase/migrate/20151202075826_create_comments.rb +11 -0
  64. data/test/dummy_apps/rails_four/init.rb +42 -0
  65. data/test/dummy_apps/rails_four/log/.keep +0 -0
  66. data/test/dummy_apps/rails_four/tmp/.keep +0 -0
  67. data/test/test_helper.rb +46 -0
  68. data/test/test_helpers/dummy_app_helpers.rb +94 -0
  69. data/test/test_helpers/rails_version_helpers.rb +29 -0
  70. data/test/test_helpers/stream_helpers.rb +40 -0
  71. data/thirdbase.gemspec +25 -0
  72. metadata +247 -0
@@ -0,0 +1,12 @@
1
+ class CreatePosts < ActiveRecord::Migration
2
+
3
+ def change
4
+ create_table :posts, force: true do |t|
5
+ t.text :title
6
+ t.text :body
7
+ t.references :user, index: true
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+
12
+ end
@@ -0,0 +1,11 @@
1
+ class CreateComments < ActiveRecord::Migration
2
+
3
+ def change
4
+ create_table :comments, force: true do |t|
5
+ t.text :body
6
+ t.references :user, index: true
7
+ t.timestamps null: false
8
+ end
9
+ end
10
+
11
+ end
@@ -0,0 +1,42 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __FILE__)
3
+ require 'bundler/setup'
4
+ require 'rails/all'
5
+ Bundler.require(:default, Rails.env)
6
+
7
+ module Dummy
8
+ class Application < ::Rails::Application
9
+
10
+ # Basic Engine
11
+ config.root = File.join __FILE__, '..'
12
+ config.cache_store = :memory_store
13
+ config.assets.enabled = false
14
+ config.secret_token = '012345678901234567890123456789'
15
+ config.active_support.test_order = :random
16
+
17
+ # Mimic Test Environment Config.
18
+ config.consider_all_requests_local = true
19
+ config.action_controller.perform_caching = false
20
+ config.action_dispatch.show_exceptions = false
21
+ config.action_controller.allow_forgery_protection = false
22
+ config.action_mailer.delivery_method = :test
23
+ config.active_support.deprecation = :stderr
24
+ config.allow_concurrency = true
25
+ config.cache_classes = true
26
+ config.dependency_loading = true
27
+ config.preload_frameworks = true
28
+ config.eager_load = true
29
+ config.secret_key_base = '012345678901234567890123456789'
30
+
31
+ # Keep pending test:prepare via pending migrations from running.
32
+ config.active_record.maintain_test_schema = false if ActiveRecord::Base.respond_to?(:maintain_test_schema)
33
+
34
+ config.active_record.schema_format = ENV['SCHEMA_FORMAT'] ? :sql : :ruby
35
+
36
+ if ENV['WITH_SECONDBASE_TASKS'].present?
37
+ config.third_base.run_with_db_tasks = ENV['WITH_SECONDBASE_TASKS'] == 'true'
38
+ end
39
+ end
40
+ end
41
+
42
+ Dummy::Application.initialize!
File without changes
File without changes
@@ -0,0 +1,46 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ require 'bundler/setup'
4
+ Bundler.require :default, :development
5
+ require 'third_base'
6
+ require 'active_support/test_case'
7
+ require 'active_support/testing/autorun'
8
+
9
+ if Rails.version.to_i == 4
10
+ require 'dummy_apps/rails_four/init'
11
+ else
12
+ require 'dummy_apps/rails_five/init'
13
+ end
14
+
15
+ require 'rails/test_help'
16
+ Dir['test/test_helpers/*.{rb}'].each { |f| require_relative "../#{f}" }
17
+
18
+ ActiveSupport.test_order = :random if ActiveSupport.respond_to?(:test_order)
19
+
20
+ module ThirdBase
21
+ class TestCase < ActiveSupport::TestCase
22
+
23
+ if Rails.version.to_i == 4
24
+ self.use_transactional_fixtures = false
25
+ else
26
+ self.use_transactional_tests = false
27
+ end
28
+
29
+ include RailsVersionHelpers,
30
+ DummyAppHelpers,
31
+ StreamHelpers
32
+
33
+ setup :delete_dummy_files
34
+ teardown :delete_dummy_files
35
+
36
+ private
37
+
38
+ def establish_connection
39
+ ActiveRecord::Base.establish_connection
40
+ ActiveRecord::Base.connection
41
+ ThirdBase::Base.establish_connection(ThirdBase.config)
42
+ ThirdBase::Base.connection
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,94 @@
1
+ module ThirdBase
2
+ module DummyAppHelpers
3
+
4
+ extend ActiveSupport::Concern
5
+
6
+ private
7
+
8
+ def dummy_app
9
+ ::Dummy::Application
10
+ end
11
+
12
+ def dummy_root
13
+ dummy_app.root
14
+ end
15
+
16
+ def dummy_config
17
+ dummy_app.config
18
+ end
19
+
20
+ def dummy_tmp
21
+ dummy_app.root.join 'tmp'
22
+ end
23
+
24
+ def dummy_db
25
+ dummy_app.root.join 'db'
26
+ end
27
+
28
+ def dummy_schema
29
+ dummy_db.join 'schema.rb'
30
+ end
31
+
32
+ def dummy_thirdbase_schema
33
+ dummy_db.join('thirdbase', 'schema.rb')
34
+ end
35
+
36
+ def dummy_database_sqlite
37
+ Dir.chdir(dummy_db){ Dir['*.sqlite3'] }.first
38
+ end
39
+
40
+ def dummy_migration
41
+ @dummy_migration ||= begin
42
+ vers = Time.now.utc.strftime '%Y%m%d%H%M%S'
43
+ file = dummy_root.join 'db', 'thirdbase', 'migrate', "#{vers}_create_foos.rb"
44
+ if rails_50_up?
45
+ migr = %|class CreateFoos < ActiveRecord::Migration[4.2] ; def change ; create_table(:foos) ; end ; end|
46
+ else
47
+ migr = %|class CreateFoos < ActiveRecord::Migration ; def change ; create_table(:foos) ; end ; end|
48
+ end
49
+ File.open(file,'w') { |f| f.write(migr) }
50
+ {version: vers, file: file}
51
+ end
52
+ end
53
+
54
+ def delete_dummy_files
55
+ FileUtils.rm_rf dummy_schema
56
+ FileUtils.rm_rf dummy_thirdbase_schema
57
+ Dir.chdir(dummy_db) { Dir['**/structure.sql'].each { |structure| FileUtils.rm_rf(structure) } }
58
+ Dir.chdir(dummy_db) { FileUtils.rm_rf(dummy_database_sqlite) } if dummy_database_sqlite
59
+ FileUtils.rm_rf(dummy_migration[:file]) if defined?(@dummy_migration) && @dummy_migration
60
+ `mysql -uroot -e "DROP DATABASE IF EXISTS thirdbase_test"`
61
+ end
62
+
63
+ # Runners
64
+
65
+ def run_cmd
66
+ 'rake'
67
+ end
68
+
69
+ def run_db(args, stream=:stdout, with_thirdbase_tasks=true)
70
+ capture(stream) do
71
+ Dir.chdir(dummy_root) { Kernel.system "env WITH_SECONDBASE_TASKS=#{with_thirdbase_tasks} #{run_cmd} db:#{args}" }
72
+ end
73
+ end
74
+
75
+ def run_thirdbase(args, stream=:stdout)
76
+ capture(stream) do
77
+ Dir.chdir(dummy_root) { Kernel.system "#{run_cmd} db:third_base:#{args}" }
78
+ end
79
+ end
80
+
81
+ # Assertions
82
+
83
+ def assert_dummy_databases
84
+ assert_equal 'base.sqlite3', dummy_database_sqlite
85
+ assert_match(/thirdbase_test/, `mysql -uroot -e "SHOW DATABASES"`)
86
+ end
87
+
88
+ def refute_dummy_databases
89
+ assert_nil dummy_database_sqlite
90
+ refute_match(/thirdbase_test/, `mysql -uroot -e "SHOW DATABASES"`)
91
+ end
92
+
93
+ end
94
+ end
@@ -0,0 +1,29 @@
1
+ module ThirdBase
2
+ module RailsVersionHelpers
3
+
4
+ extend ActiveSupport::Concern
5
+
6
+ included { extend RailsVersionHelpers }
7
+
8
+ private
9
+
10
+ def rails_version
11
+ Rails.version.to(2)
12
+ end
13
+
14
+ ['4.0', '4.1', '4.2', '5.0'].each do |v|
15
+
16
+ vm = v.sub '.', ''
17
+
18
+ define_method :"rails_#{vm}?" do
19
+ rails_version == v
20
+ end
21
+
22
+ define_method :"rails_#{vm}_up?" do
23
+ rails_version >= v
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,40 @@
1
+ module ThirdBase
2
+ module StreamHelpers
3
+
4
+ private
5
+
6
+ def silence_stream(stream)
7
+ old_stream = stream.dup
8
+ stream.reopen(IO::NULL)
9
+ stream.sync = true
10
+ yield
11
+ ensure
12
+ stream.reopen(old_stream)
13
+ old_stream.close
14
+ end
15
+
16
+ def quietly
17
+ silence_stream(STDOUT) do
18
+ silence_stream(STDERR) do
19
+ yield
20
+ end
21
+ end
22
+ end
23
+
24
+ def capture(stream)
25
+ stream = stream.to_s
26
+ captured_stream = Tempfile.new(stream)
27
+ stream_io = eval("$#{stream}")
28
+ origin_stream = stream_io.dup
29
+ stream_io.reopen(captured_stream)
30
+ yield
31
+ stream_io.rewind
32
+ return captured_stream.read
33
+ ensure
34
+ captured_stream.close
35
+ captured_stream.unlink
36
+ stream_io.reopen(origin_stream)
37
+ end
38
+
39
+ end
40
+ end
data/thirdbase.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ $:.push File.expand_path('../lib', __FILE__)
2
+ require 'third_base/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = 'thirdbase'
6
+ s.version = ThirdBase::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ['Karle Durante', 'Hunter Madison', 'Ken Collins']
9
+ s.email = ['kdurante@customink.com', 'hunterglenmadison@icloud.com', 'ken@metaskills.net']
10
+ s.homepage = 'http://github.com/customink/thirdbase'
11
+ s.summary = 'Seamless second database integration for Rails.'
12
+ s.description = "ThirdBase provides support for Rails to manage dual databases by extending ActiveRecord tasks that create, migrate, and test your databases."
13
+ s.files = `git ls-files`.split("\n")
14
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
+ s.require_paths = ['lib']
17
+ s.rdoc_options = ['--charset=UTF-8']
18
+ s.license = 'MIT'
19
+ s.add_runtime_dependency 'rails', '>= 4.0'
20
+ s.add_development_dependency 'appraisal'
21
+ s.add_development_dependency 'pry'
22
+ s.add_development_dependency 'rake'
23
+ s.add_development_dependency 'sqlite3'
24
+ s.add_development_dependency 'yard'
25
+ end
metadata ADDED
@@ -0,0 +1,247 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: thirdbase
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Karle Durante
8
+ - Hunter Madison
9
+ - Ken Collins
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2016-10-19 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '4.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '4.0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: appraisal
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: pry
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rake
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: sqlite3
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: yard
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ description: ThirdBase provides support for Rails to manage dual databases by extending
100
+ ActiveRecord tasks that create, migrate, and test your databases.
101
+ email:
102
+ - kdurante@customink.com
103
+ - hunterglenmadison@icloud.com
104
+ - ken@metaskills.net
105
+ executables: []
106
+ extensions: []
107
+ extra_rdoc_files: []
108
+ files:
109
+ - ".gitignore"
110
+ - ".travis.yml"
111
+ - ".yardopts"
112
+ - Appraisals
113
+ - CHANGELOG.md
114
+ - Gemfile
115
+ - LICENSE.txt
116
+ - README.md
117
+ - Rakefile
118
+ - VERSION
119
+ - gemfiles/rails40.gemfile
120
+ - gemfiles/rails41.gemfile
121
+ - gemfiles/rails42.gemfile
122
+ - gemfiles/rails50.gemfile
123
+ - lib/rails/second_base/generators/migration_generator.rb
124
+ - lib/third_base.rb
125
+ - lib/third_base/base.rb
126
+ - lib/third_base/databases.rake
127
+ - lib/third_base/databases_rails_five.rake
128
+ - lib/third_base/databases_rails_four.rake
129
+ - lib/third_base/forced.rb
130
+ - lib/third_base/on_base.rb
131
+ - lib/third_base/railtie.rb
132
+ - lib/third_base/test_help.rb
133
+ - lib/third_base/version.rb
134
+ - lib/thirdbase.rb
135
+ - test/cases/dbtask_test.rb
136
+ - test/cases/forced_test.rb
137
+ - test/cases/generator_test.rb
138
+ - test/cases/on_base_test.rb
139
+ - test/cases/railtie_test.rb
140
+ - test/cases/rake_test.rb
141
+ - test/dummy_apps/rails_five/Rakefile
142
+ - test/dummy_apps/rails_five/app/controllers/application_controller.rb
143
+ - test/dummy_apps/rails_five/app/helpers/application_helper.rb
144
+ - test/dummy_apps/rails_five/app/models/application_record.rb
145
+ - test/dummy_apps/rails_five/app/models/comment.rb
146
+ - test/dummy_apps/rails_five/app/models/comment_forced.rb
147
+ - test/dummy_apps/rails_five/app/models/post.rb
148
+ - test/dummy_apps/rails_five/app/models/user.rb
149
+ - test/dummy_apps/rails_five/bin/rails
150
+ - test/dummy_apps/rails_five/config/database.yml
151
+ - test/dummy_apps/rails_five/config/routes.rb
152
+ - test/dummy_apps/rails_five/db/migrate/20141209165002_create_users.rb
153
+ - test/dummy_apps/rails_five/db/migrate/20141214142700_create_posts.rb
154
+ - test/dummy_apps/rails_five/db/secondbase/migrate/20151202075826_create_comments.rb
155
+ - test/dummy_apps/rails_five/init.rb
156
+ - test/dummy_apps/rails_five/log/.keep
157
+ - test/dummy_apps/rails_five/tmp/.keep
158
+ - test/dummy_apps/rails_four/Rakefile
159
+ - test/dummy_apps/rails_four/app/controllers/application_controller.rb
160
+ - test/dummy_apps/rails_four/app/helpers/application_helper.rb
161
+ - test/dummy_apps/rails_four/app/models/comment.rb
162
+ - test/dummy_apps/rails_four/app/models/comment_forced.rb
163
+ - test/dummy_apps/rails_four/app/models/post.rb
164
+ - test/dummy_apps/rails_four/app/models/user.rb
165
+ - test/dummy_apps/rails_four/bin/rails
166
+ - test/dummy_apps/rails_four/config/database.yml
167
+ - test/dummy_apps/rails_four/config/routes.rb
168
+ - test/dummy_apps/rails_four/db/migrate/20141209165002_create_users.rb
169
+ - test/dummy_apps/rails_four/db/migrate/20141214142700_create_posts.rb
170
+ - test/dummy_apps/rails_four/db/secondbase/migrate/20151202075826_create_comments.rb
171
+ - test/dummy_apps/rails_four/init.rb
172
+ - test/dummy_apps/rails_four/log/.keep
173
+ - test/dummy_apps/rails_four/tmp/.keep
174
+ - test/test_helper.rb
175
+ - test/test_helpers/dummy_app_helpers.rb
176
+ - test/test_helpers/rails_version_helpers.rb
177
+ - test/test_helpers/stream_helpers.rb
178
+ - thirdbase.gemspec
179
+ homepage: http://github.com/customink/thirdbase
180
+ licenses:
181
+ - MIT
182
+ metadata: {}
183
+ post_install_message:
184
+ rdoc_options:
185
+ - "--charset=UTF-8"
186
+ require_paths:
187
+ - lib
188
+ required_ruby_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ requirements: []
199
+ rubyforge_project:
200
+ rubygems_version: 2.6.7
201
+ signing_key:
202
+ specification_version: 4
203
+ summary: Seamless second database integration for Rails.
204
+ test_files:
205
+ - test/cases/dbtask_test.rb
206
+ - test/cases/forced_test.rb
207
+ - test/cases/generator_test.rb
208
+ - test/cases/on_base_test.rb
209
+ - test/cases/railtie_test.rb
210
+ - test/cases/rake_test.rb
211
+ - test/dummy_apps/rails_five/Rakefile
212
+ - test/dummy_apps/rails_five/app/controllers/application_controller.rb
213
+ - test/dummy_apps/rails_five/app/helpers/application_helper.rb
214
+ - test/dummy_apps/rails_five/app/models/application_record.rb
215
+ - test/dummy_apps/rails_five/app/models/comment.rb
216
+ - test/dummy_apps/rails_five/app/models/comment_forced.rb
217
+ - test/dummy_apps/rails_five/app/models/post.rb
218
+ - test/dummy_apps/rails_five/app/models/user.rb
219
+ - test/dummy_apps/rails_five/bin/rails
220
+ - test/dummy_apps/rails_five/config/database.yml
221
+ - test/dummy_apps/rails_five/config/routes.rb
222
+ - test/dummy_apps/rails_five/db/migrate/20141209165002_create_users.rb
223
+ - test/dummy_apps/rails_five/db/migrate/20141214142700_create_posts.rb
224
+ - test/dummy_apps/rails_five/db/secondbase/migrate/20151202075826_create_comments.rb
225
+ - test/dummy_apps/rails_five/init.rb
226
+ - test/dummy_apps/rails_five/log/.keep
227
+ - test/dummy_apps/rails_five/tmp/.keep
228
+ - test/dummy_apps/rails_four/Rakefile
229
+ - test/dummy_apps/rails_four/app/controllers/application_controller.rb
230
+ - test/dummy_apps/rails_four/app/helpers/application_helper.rb
231
+ - test/dummy_apps/rails_four/app/models/comment.rb
232
+ - test/dummy_apps/rails_four/app/models/comment_forced.rb
233
+ - test/dummy_apps/rails_four/app/models/post.rb
234
+ - test/dummy_apps/rails_four/app/models/user.rb
235
+ - test/dummy_apps/rails_four/bin/rails
236
+ - test/dummy_apps/rails_four/config/database.yml
237
+ - test/dummy_apps/rails_four/config/routes.rb
238
+ - test/dummy_apps/rails_four/db/migrate/20141209165002_create_users.rb
239
+ - test/dummy_apps/rails_four/db/migrate/20141214142700_create_posts.rb
240
+ - test/dummy_apps/rails_four/db/secondbase/migrate/20151202075826_create_comments.rb
241
+ - test/dummy_apps/rails_four/init.rb
242
+ - test/dummy_apps/rails_four/log/.keep
243
+ - test/dummy_apps/rails_four/tmp/.keep
244
+ - test/test_helper.rb
245
+ - test/test_helpers/dummy_app_helpers.rb
246
+ - test/test_helpers/rails_version_helpers.rb
247
+ - test/test_helpers/stream_helpers.rb