adaptable_tests_for_rails 1.0.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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/.rvmrc ADDED
@@ -0,0 +1,2 @@
1
+ rvm use ruby-1.8.7-p302@gemdev
2
+ rvm info
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in adaptable_tests_for_rails.gemspec
4
+ gemspec
data/README.rdoc ADDED
@@ -0,0 +1,75 @@
1
+ = adaptable_tests_for_rails
2
+
3
+ Sets up testing environment for multiple databases.
4
+
5
+
6
+ == Installation
7
+
8
+ Using bundler:
9
+
10
+ group :test do
11
+ gem 'adaptable_tests_for_rails'
12
+ end
13
+
14
+
15
+ == Configuration
16
+
17
+ Create the different environments in database.yml (they should all be prefixed with test_) and specify a default configuration:
18
+
19
+ test_sqlite_memory: &DEFAULT_TEST
20
+ adapter: sqlite3
21
+ database: ":memory:"
22
+ verbosity: quiet
23
+
24
+ test_sqlite_file:
25
+ adapter: sqlite3
26
+ database: db/test.sqlite3
27
+
28
+ test_mysql:
29
+ database: gvt-us_test
30
+ <<: *base
31
+
32
+ test:
33
+ <<: *DEFAULT_TEST
34
+
35
+
36
+ == Usage
37
+
38
+ Now you can run tests normally.
39
+
40
+ rake
41
+
42
+ This will run tests with *DEFAULT_TEST configuration.
43
+
44
+ You can also run tests for a specific database config:
45
+
46
+ rake spec DB=sqlite_file
47
+
48
+ This will run the test_sqlite_file configuration.
49
+
50
+ Notice that none of this configuration is unique to adaptable_tests_for_rails. Each of these configuration paradigms are simply
51
+ Ruby or Rails paradigms.
52
+
53
+
54
+ == License
55
+
56
+ Copyright (c) 2011 C. Jason Harrelson (midas)
57
+
58
+ Permission is hereby granted, free of charge, to any person obtaining
59
+ a copy of this software and associated documentation files (the
60
+ "Software"), to deal in the Software without restriction, including
61
+ without limitation the rights to use, copy, modify, merge, publish,
62
+ distribute, sublicense, and/or sell copies of the Software, and to
63
+ permit persons to whom the Software is furnished to do so, subject to
64
+ the following conditions:
65
+
66
+ The above copyright notice and this permission notice shall be
67
+ included in all copies or substantial portions of the Software.
68
+
69
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
70
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
71
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
72
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
73
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
74
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
75
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "adaptable_tests_for_rails/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "adaptable_tests_for_rails"
7
+ s.version = AdaptableTestsForRails::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["C. Jason Harrelson (midas)"]
10
+ s.email = ["jason@lookforwardenterprises.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Adds SQLite in memory and file testing abilities in addition to MySQL or other db tests.}
13
+ s.description = %q{Adds SQLite in memory and file testing abilities in addition to MySQL or other db
14
+ tests. You must provide the configuration in your database.yml file.}
15
+
16
+ s.rubyforge_project = "adaptable_tests_for_rails"
17
+
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
22
+ end
@@ -0,0 +1,4 @@
1
+ require 'adaptable_tests_for_rails/railtie'
2
+
3
+ module AdaptableTestsForRails
4
+ end
@@ -0,0 +1,33 @@
1
+ require 'rails'
2
+
3
+ module AdaptableTestsForRails
4
+ class Railtie < ::Rails::Railtie
5
+ initializer "adaptable_tests_for_rails.initialize" do
6
+ setup_test_environment( ENV['DB'] || 'test' )
7
+ end
8
+
9
+ config.before_initialize do
10
+
11
+ end
12
+
13
+ def setup_test_environment( env )
14
+ puts "", "Connecting to #{db_type( env )} database ..."
15
+ ActiveRecord::Base.establish_connection( Rails.configuration.database_configuration["test_#{env}"] )
16
+ puts building_database_statement, ""
17
+ load schema_path
18
+ end
19
+
20
+ def db_type( env )
21
+ env.gsub( /test_/, '' ).gsub( /_/, ' ' )
22
+ end
23
+
24
+ def building_database_statement
25
+ "Building database from db/schema.rb ..."
26
+ end
27
+
28
+ def schema_path
29
+ "#{Rails.root}/db/schema.rb"
30
+ end
31
+ end
32
+ end
33
+
@@ -0,0 +1,3 @@
1
+ module AdaptableTestsForRails
2
+ VERSION = "1.0.0"
3
+ end
metadata ADDED
@@ -0,0 +1,78 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: adaptable_tests_for_rails
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - C. Jason Harrelson (midas)
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-05-02 00:00:00 -05:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: |-
23
+ Adds SQLite in memory and file testing abilities in addition to MySQL or other db
24
+ tests. You must provide the configuration in your database.yml file.
25
+ email:
26
+ - jason@lookforwardenterprises.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files: []
32
+
33
+ files:
34
+ - .gitignore
35
+ - .rvmrc
36
+ - Gemfile
37
+ - README.rdoc
38
+ - Rakefile
39
+ - adaptable_tests_for_rails.gemspec
40
+ - lib/adaptable_tests_for_rails.rb
41
+ - lib/adaptable_tests_for_rails/railtie.rb
42
+ - lib/adaptable_tests_for_rails/version.rb
43
+ has_rdoc: true
44
+ homepage: ""
45
+ licenses: []
46
+
47
+ post_install_message:
48
+ rdoc_options: []
49
+
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ hash: 3
67
+ segments:
68
+ - 0
69
+ version: "0"
70
+ requirements: []
71
+
72
+ rubyforge_project: adaptable_tests_for_rails
73
+ rubygems_version: 1.6.0
74
+ signing_key:
75
+ specification_version: 3
76
+ summary: Adds SQLite in memory and file testing abilities in addition to MySQL or other db tests.
77
+ test_files: []
78
+