bard-rake 0.20.0 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31ff0200f42734631cff25875af6998072c84f11ddeaecfc6b1200966690f185
4
- data.tar.gz: a3c65ba5837e92853b669245b5ef8164cb3c154d6fca3ce9d1c77c151879e147
3
+ metadata.gz: 95420cc4c316e45716d96f7a3ec6ddc06a6903def03c56c815a16f3f62940469
4
+ data.tar.gz: fcbf2e9d9fcf744ea1166300c7f6fb9ddcda6bfea2e01da6dd13d940ada806fa
5
5
  SHA512:
6
- metadata.gz: d225869ec23fbbf45258cb3ba635054683e8275cca6f193b24dad2a70cc0772bb3ba393d3fc82e0442606e2d54644818fa87e0e29479410573797d5a91f88d00
7
- data.tar.gz: 01be76580d0d8d55bb8473165798a02251a91d09a296c24c0603127c203650e6fa2a55b0d214471ea9899b487a1e89b93a57734ed2992f1f6ac079bc7986b4b9
6
+ metadata.gz: 1ab8cb9047b7c4470159b9542ddcd07abc2b0eff5af24f58535b030e6a08de9eacfc0f5538c0d01a1530119f8c2188025d3c096854c88651ac0a8ee2a4f77883
7
+ data.tar.gz: f06bb490c29feb3456f18b31cde322f6d89dcb197ecd7cffbb8569a81b9dc8f749da9d401f6e24a8815b261855bf2016ce98cbeec8d4c3d2276e566dd5f223a0
@@ -5,12 +5,24 @@ end
5
5
 
6
6
  desc "Bootstrap project"
7
7
  task :bootstrap do
8
- system "cp config/database.sample.yml config/database.yml" unless File.exist?('config/database.yml') or !File.exist?('config/database.sample.yml')
9
- invoke_task_if_exists "db:create:all"
10
- invoke_task_if_exists "db:migrate:all"
8
+ invoke_take_if_exists "bootstrap:database.yml"
9
+ invoke_task_if_exists "db:create"
10
+ invoke_task_if_exists "db:migrate"
11
+ invoke_task_if_exists "rake parallel:create"
12
+ invoke_task_if_exists "rake parallel:migrate"
11
13
  if %w(staging production).include?(ENV["RAILS_ENV"])
12
14
  invoke_task_if_exists "assets:precompile"
13
15
  end
14
16
  Rake::Task["restart"].invoke
15
17
  end
16
18
 
19
+ task "bootstrap:database.yml" do
20
+ unless File.exist?("config/database.yml")
21
+ %w[config/database.sample.yml config/database.yml.example].each do |path|
22
+ if File.exist?(path)
23
+ system "cp #{path} config/database.yml"
24
+ break
25
+ end
26
+ end
27
+ end
28
+ end
@@ -2,52 +2,53 @@ if defined?(ActiveRecord)
2
2
  namespace :db do
3
3
  namespace :create do
4
4
  task :all => :load_config do
5
- run_in_all_environments do |config, env|
6
- if env == "test" && Rake::Task.task_defined?("parallel:create")
7
- Rake::Task["parallel:create"].invoke
8
- else
9
- ActiveRecord::Tasks::DatabaseTasks.create config
10
- end
11
- end
5
+ invoke_with_parallel "create"
12
6
  end
13
7
  end
14
8
 
15
9
  namespace :drop do
16
10
  task :all => :load_config do
17
- run_in_all_environments do |config, env|
18
- if env == "test" && Rake::Task.task_defined?("parallel:drop")
19
- Rake::Task["parallel:drop"].invoke
20
- else
21
- ActiveRecord::Tasks::DatabaseTasks.drop config
22
- end
23
- end
11
+ invoke_with_parallel "drop"
24
12
  end
25
13
  end
26
14
 
27
15
  namespace :migrate do
28
16
  task :all => :load_config do
29
- run_in_all_environments do |config, env|
30
- if env == "test" && Rake::Task.task_defined?("parallel:migrate")
31
- Rake::Task["parallel:migrate"].invoke
32
- else
33
- ActiveRecord::Tasks::DatabaseTasks.migrate
34
- end
35
- end
17
+ invoke_with_parallel "migrate"
36
18
  end
37
19
  end
38
20
 
39
21
  namespace :rollback do
40
22
  task :all => :load_config do
23
+ invoke_with_parallel "rollback" do # 6.1, 7.0 vanilla doesn't follow the pattern of the other three
24
+ ActiveRecord::Base.connection.migration_context.rollback(1)
25
+ end
26
+ end
27
+ end
28
+
29
+ def invoke_with_parallel task
30
+ if Rails.version >= "7.1"
31
+ Rake::Task["db:#{task}"].invoke
32
+ if %w[development test].include?(Rails.env) && Rake::Task.task_defined?("parallel:#{task}")
33
+ Rake::Task["parallel:#{task}"].invoke
34
+ end
35
+
36
+ else # Rails 6.1, 7.0
41
37
  run_in_all_environments do |config, env|
42
- if env == "test" && Rake::Task.task_defined?("parallel:rollback")
43
- Rake::Task["parallel:rollback"].invoke
38
+ if env == "test" && Rake::Task.task_defined?("parallel:#{task}")
39
+ Rake::Task["parallel:#{task}"].invoke
44
40
  else
45
- ActiveRecord::Base.connection.migration_context.rollback(1)
41
+ if block_given?
42
+ yield
43
+ else
44
+ ActiveRecord::Tasks::DatabaseTasks.send task.to_sym, config
45
+ end
46
46
  end
47
47
  end
48
48
  end
49
49
  end
50
50
 
51
+
51
52
  def run_in_all_environments &block
52
53
  invoke_task_if_exists :rails_env
53
54
 
@@ -76,18 +77,6 @@ if defined?(ActiveRecord)
76
77
 
77
78
  Rake::Task["db:_dump"].invoke
78
79
  end
79
-
80
- def test_environment?
81
- rails_env == "test"
82
- end
83
-
84
- def rails_env
85
- if defined?(Rails)
86
- Rails.env
87
- else
88
- ENV["RAILS_ENV"]
89
- end
90
- end
91
80
  end
92
81
  end
93
82
 
@@ -1,6 +1,6 @@
1
1
  module Bard
2
2
  module Rake
3
- VERSION = "0.20.0"
3
+ VERSION = "0.22.0"
4
4
  end
5
5
  end
6
6
 
data/plans ADDED
@@ -0,0 +1,5 @@
1
+ | | current | current+test(if dev) | all |
2
+ | create | | create | create:all |
3
+ | migrate | migrate | B/R::migrate:all | |
4
+ | rollback | rollback | B/R::rollback:all | |
5
+ | drop | | drop | drop:all |
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bard-rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-08 00:00:00.000000000 Z
11
+ date: 2024-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -109,6 +109,7 @@ files:
109
109
  - lib/bard/rake/version.rb
110
110
  - lib/generators/bard/utf8mb4_migration/templates/migration.rb.tt
111
111
  - lib/generators/bard/utf8mb4_migration/utf8mb4_migration_generator.rb
112
+ - plans
112
113
  homepage: http://github.com/botandrose/bard-rake
113
114
  licenses:
114
115
  - MIT