bard-rake 0.20.0 → 0.21.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: 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.