schema_dev 1.1.0 → 1.2.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 +4 -4
- data/lib/schema_dev/tasks.rb +3 -48
- data/lib/schema_dev/tasks/coveralls.rb +3 -0
- data/lib/schema_dev/tasks/dbms.rb +49 -0
- data/lib/schema_dev/travis.rb +2 -1
- data/lib/schema_dev/version.rb +1 -1
- data/schema_dev.gemspec +1 -0
- data/spec/travis_spec.rb +2 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0d9cde1b34a1acfd8971e30649fcafd4bd69a77
|
4
|
+
data.tar.gz: 0a5287d96e1c2927ace6029dc415e5d44f2198c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09459d47cd0c7c76662a00e4b8f8ea3e9aff984f9dc41fab9934f749bfa240f5a5e2589e574b055a6825e101d3a4a278d3c72b0e6d9404744dee1bd64425f92c
|
7
|
+
data.tar.gz: 6e6b276d4ce6e4b9fbf9fb260bb2b3549952044dc01c3434673ed20f73d6d1face55adf0ead6d8e3f28bd737b93d03a526c992ef96cd383721ebc4048628d300
|
data/lib/schema_dev/tasks.rb
CHANGED
@@ -1,49 +1,4 @@
|
|
1
|
-
require_relative '
|
1
|
+
require_relative 'tasks/dbms'
|
2
|
+
require_relative 'tasks/coveraalls'
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
DATABASES = %w[schema_plus_test]
|
6
|
-
|
7
|
-
if dbms.any?
|
8
|
-
{
|
9
|
-
postgresql: { uservar: 'POSTGRESQL_DB_USER', defaultuser: 'schema_plus', create: "createdb -U '%{user}' %{dbname}", drop: "dropdb -U '%{user}' %{dbname}" },
|
10
|
-
mysql: { uservar: 'MYSQL_DB_USER', defaultuser: 'schema_plus', create: "mysqladmin -u '%{user}' create %{dbname}", drop: "mysqladmin -u '%{user}' -f drop %{dbname}" }
|
11
|
-
}.slice(*dbms).each do |dbm, info|
|
12
|
-
namespace dbm do
|
13
|
-
user = ENV.fetch info[:uservar], info[:defaultuser]
|
14
|
-
task :create_databases do
|
15
|
-
DATABASES.each do |dbname|
|
16
|
-
system(info[:create] % {user: user, dbname: dbname})
|
17
|
-
end
|
18
|
-
end
|
19
|
-
task :drop_databases do
|
20
|
-
DATABASES.each do |dbname|
|
21
|
-
system(info[:drop] % {user: user, dbname: dbname})
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
desc 'Create test databases'
|
28
|
-
task :create_databases do
|
29
|
-
invoke_multiple(dbms, "create_databases")
|
30
|
-
end
|
31
|
-
|
32
|
-
desc 'Drop test databases'
|
33
|
-
task :drop_databases do
|
34
|
-
invoke_multiple(dbms, "drop_databases")
|
35
|
-
end
|
36
|
-
|
37
|
-
def invoke_multiple(namespaces, task)
|
38
|
-
failed = namespaces.reject { |adapter|
|
39
|
-
begin
|
40
|
-
Rake::Task["#{adapter}:#{task}"].invoke
|
41
|
-
true
|
42
|
-
rescue => e
|
43
|
-
warn "\n#{e}\n"
|
44
|
-
false
|
45
|
-
end
|
46
|
-
}
|
47
|
-
fail "Failure in: #{failed.join(', ')}" if failed.any?
|
48
|
-
end
|
49
|
-
end
|
4
|
+
task :travis => :spec_with_coveralls
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'schema_dev/config'
|
2
|
+
|
3
|
+
dbms = SchemaDev::Config.load.dbms
|
4
|
+
|
5
|
+
DATABASES = %w[schema_plus_test]
|
6
|
+
|
7
|
+
if dbms.any?
|
8
|
+
{
|
9
|
+
postgresql: { uservar: 'POSTGRESQL_DB_USER', defaultuser: 'schema_plus', create: "createdb -U '%{user}' %{dbname}", drop: "dropdb -U '%{user}' %{dbname}" },
|
10
|
+
mysql: { uservar: 'MYSQL_DB_USER', defaultuser: 'schema_plus', create: "mysqladmin -u '%{user}' create %{dbname}", drop: "mysqladmin -u '%{user}' -f drop %{dbname}" }
|
11
|
+
}.slice(*dbms).each do |dbm, info|
|
12
|
+
namespace dbm do
|
13
|
+
user = ENV.fetch info[:uservar], info[:defaultuser]
|
14
|
+
task :create_databases do
|
15
|
+
DATABASES.each do |dbname|
|
16
|
+
system(info[:create] % {user: user, dbname: dbname})
|
17
|
+
end
|
18
|
+
end
|
19
|
+
task :drop_databases do
|
20
|
+
DATABASES.each do |dbname|
|
21
|
+
system(info[:drop] % {user: user, dbname: dbname})
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
desc 'Create test databases'
|
28
|
+
task :create_databases do
|
29
|
+
invoke_multiple(dbms, "create_databases")
|
30
|
+
end
|
31
|
+
|
32
|
+
desc 'Drop test databases'
|
33
|
+
task :drop_databases do
|
34
|
+
invoke_multiple(dbms, "drop_databases")
|
35
|
+
end
|
36
|
+
|
37
|
+
def invoke_multiple(namespaces, task)
|
38
|
+
failed = namespaces.reject { |adapter|
|
39
|
+
begin
|
40
|
+
Rake::Task["#{adapter}:#{task}"].invoke
|
41
|
+
true
|
42
|
+
rescue => e
|
43
|
+
warn "\n#{e}\n"
|
44
|
+
false
|
45
|
+
end
|
46
|
+
}
|
47
|
+
fail "Failure in: #{failed.join(', ')}" if failed.any?
|
48
|
+
end
|
49
|
+
end
|
data/lib/schema_dev/travis.rb
CHANGED
@@ -25,10 +25,11 @@ module SchemaDev
|
|
25
25
|
travis["rvm"] = config.ruby.sort
|
26
26
|
travis["gemfile"] = gemfiles.sort
|
27
27
|
if config.dbms.any?
|
28
|
+
travis["env"] = env
|
28
29
|
travis["before_script"] = 'bundle exec rake create_databases'
|
29
30
|
travis["after_script"] = 'bundle exec rake drop_databases'
|
30
|
-
travis["env"] = env
|
31
31
|
end
|
32
|
+
travis["script"] = "bundle exec rake travis"
|
32
33
|
travis["notifications"] = { "email" => config.notify } if config.notify.any?
|
33
34
|
travis["matrix"] = { "exclude" => exclude.sort_by{|ex| [ex["rvm"], ex["gemfile"]]} } if exclude.any?
|
34
35
|
}
|
data/lib/schema_dev/version.rb
CHANGED
data/schema_dev.gemspec
CHANGED
data/spec/travis_spec.rb
CHANGED
@@ -24,9 +24,10 @@ gemfile:
|
|
24
24
|
- gemfiles/rails-4.0/Gemfile.sqlite3
|
25
25
|
- gemfiles/rails-4.1/Gemfile.postgresql
|
26
26
|
- gemfiles/rails-4.1/Gemfile.sqlite3
|
27
|
+
env: POSTGRESQL_DB_USER=postgres
|
27
28
|
before_script: bundle exec rake create_databases
|
28
29
|
after_script: bundle exec rake drop_databases
|
29
|
-
|
30
|
+
script: bundle exec rake travis
|
30
31
|
notifications:
|
31
32
|
email:
|
32
33
|
- me@example.com
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_dev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ronen barzel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: coveralls
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: fastandand
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,6 +190,8 @@ files:
|
|
176
190
|
- lib/schema_dev/ruby_selector.rb
|
177
191
|
- lib/schema_dev/runner.rb
|
178
192
|
- lib/schema_dev/tasks.rb
|
193
|
+
- lib/schema_dev/tasks/coveralls.rb
|
194
|
+
- lib/schema_dev/tasks/dbms.rb
|
179
195
|
- lib/schema_dev/travis.rb
|
180
196
|
- lib/schema_dev/version.rb
|
181
197
|
- schema_dev.gemspec
|