one_off 1.1.0 → 1.2.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: bde4be08a52dae7536b56e60deca097042376ffd49eb576a747c705cbd0f8143
4
- data.tar.gz: 25acfbbae0600bb36fb7e9fab6082353b9e07374446bdb61dc84bbc5ef4ff5af
3
+ metadata.gz: cc015ac4af628224cd1f27a56128af7fe5d0c3f5a70785dbc4355a1e5a5f285b
4
+ data.tar.gz: 820b0b84391f69b4fd2c26773000e5e664b76f510985496cbc2e24f5683f11a8
5
5
  SHA512:
6
- metadata.gz: 9ad69e724464077e399150996d7d1cd83fd8354c20eb706d2fb42b56e5694bff4d0076b1c2d4ed2106530809f3f445cd5d86d86c96f0e7bc6e401c22c4cbcd98
7
- data.tar.gz: 4e10be2b45d060b0a3f72fb567206f42507459f27ebf443b38dca92d8e04fd536ed7ef34e2b6dcf22efb1e962387dc096f2914d765c2883789424872f9407282
6
+ metadata.gz: 910d77543a4a615373febe7549856607a92699341b00f03ac5ccd1a3866555e99d0e6f2a57ddb980365f6f90b84699c801e6011ad32aac917f9243a3e672b2fa
7
+ data.tar.gz: 407cfc9d7fa5ad93186574af53ce1b813003e1c64ad6b9754be14b4ba541252b71677c046e6c76a3d8f1b1ab6f36ccc4a4c2a9ec5ff2c21499a76f12ee9726d7
@@ -3,9 +3,10 @@
3
3
  module OneOff
4
4
  class Migrator
5
5
  class << self
6
- def run(files: pending_files)
6
+ def run(files: pending_files, async: true)
7
7
  files.sort_by(&:version).each do |file|
8
- OneOff::ExecutorJob.perform_later(file)
8
+ method = ActiveModel::Type::Boolean.new.cast(async) ? :perform_later : :perform_now
9
+ OneOff::ExecutorJob.method(method).call(file)
9
10
  Rails.logger.info "=== Queued one_off task #{file.task_name}"
10
11
  OneOff::Task.create_or_find_by!(version: file.version)
11
12
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OneOff
4
- VERSION = '1.1.0'
4
+ VERSION = '1.2.0'
5
5
  end
@@ -1,13 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  namespace :one_off do
4
- task run: :environment do
4
+ task :run, [:async] => :environment do |_t, args|
5
5
  require 'one_off/migrator'
6
- OneOff::Migrator.run
6
+ args.with_defaults(async: !Rails.env.development?)
7
+ OneOff::Migrator.run(async: args[:async])
7
8
  end
8
9
 
9
- task :matching, [:search_string] => [:environment] do |_t, args|
10
+ task :matching, %i(search_string async) => [:environment] do |_t, args|
10
11
  require 'one_off/migrator'
11
- OneOff::Migrator.run files: OneOff::Migrator.matching(args.search_string)
12
+ args.with_defaults(async: !Rails.env.development?)
13
+ OneOff::Migrator.run files: OneOff::Migrator.matching(args.search_string), async: args[:async]
12
14
  end
13
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: one_off
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hamed Asghari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-24 00:00:00.000000000 Z
11
+ date: 2020-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '3.9'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rubocop
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.81'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.81'
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: simplecov
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -117,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
131
  - !ruby/object:Gem::Version
118
132
  version: '0'
119
133
  requirements: []
120
- rubygems_version: 3.0.6
134
+ rubygems_version: 3.0.3
121
135
  signing_key:
122
136
  specification_version: 4
123
137
  summary: A Rails plugin with a generator to create one off scripts