bard-rake 0.20.0 → 0.21.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31ff0200f42734631cff25875af6998072c84f11ddeaecfc6b1200966690f185
4
- data.tar.gz: a3c65ba5837e92853b669245b5ef8164cb3c154d6fca3ce9d1c77c151879e147
3
+ metadata.gz: ed2973e1bd9430f0585ea99cba34d561a17c44b982b8f03f05f7df41e51cd315
4
+ data.tar.gz: d4d8e2501839c24b43ba81c1c4fa7050f144078fa234cb5178914ee08c25d65d
5
5
  SHA512:
6
- metadata.gz: d225869ec23fbbf45258cb3ba635054683e8275cca6f193b24dad2a70cc0772bb3ba393d3fc82e0442606e2d54644818fa87e0e29479410573797d5a91f88d00
7
- data.tar.gz: 01be76580d0d8d55bb8473165798a02251a91d09a296c24c0603127c203650e6fa2a55b0d214471ea9899b487a1e89b93a57734ed2992f1f6ac079bc7986b4b9
6
+ metadata.gz: 3e68e3814804327257584c57b482510077646a9418bae083bab304156ad786940a79d1c5ab71047f7fc9caec7e0f109309b7bd0f60afb8d4953a72fdd376c240
7
+ data.tar.gz: ec92167bbf8a5541547a5726b77cc34e551eef1e2914017f390224fa800093d7428c8d8d09624133209b9294bd0066e8c8e8340daa6db21301d66ff4f965ecd5
@@ -6,8 +6,10 @@ end
6
6
  desc "Bootstrap project"
7
7
  task :bootstrap do
8
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"
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
@@ -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.21.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.21.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-02-05 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
@@ -128,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
129
  - !ruby/object:Gem::Version
129
130
  version: '0'
130
131
  requirements: []
131
- rubygems_version: 3.2.32
132
+ rubygems_version: 3.5.4
132
133
  signing_key:
133
134
  specification_version: 4
134
135
  summary: Rake tasks for all bard projects.