parity 3.2.0 → 3.3.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: 4840de61e7085008005004e7c1c6a9f59115321504596c543fe35f024db752d5
4
- data.tar.gz: 5168abae185e43bb8f2b0f32adf6e2c7613332657e17282ddead491f7fa12e45
3
+ metadata.gz: c834b388cde313695a88976083e26335e622880bb7e4ad212b1f177aa4a228c8
4
+ data.tar.gz: e842be2ab0f8a556a0da4d51de033e16eb2dc94e659fd1eadbd644c46a221450
5
5
  SHA512:
6
- metadata.gz: '082cda1a7eba59a61a14a970ef50b0fe544a305c3223a3135bd1ac2c172c349dfdb235cc66a2973c1731ca7da5d414d8c875f28be4b55cb1ffe354a0ffd2a0c5'
7
- data.tar.gz: 5be8e6c0cba78caa4ba1af4356674e432477629f3f6b42deb9ed3b2025a09cafb925abb6fe4b04e7ef79fa14d2c85e7686441978fb58fe4b50c612507bcad82e
6
+ metadata.gz: 53f990b9c44ac2e8bc38504b6a6730c61931e6fc05d7306bb74b757804a307c1d8219d31f95340dbdacf94e334cf2aa2659a23dd254533a245d9cd2f87380b06
7
+ data.tar.gz: '055856a6441a5e409bc0da279d3e937d30604308ccefb4ea0ed5315b715745eb55ef9279cb1adc902113e2eec5b9ab347fcade4598b26174dd68c0b890fe4d5b'
data/README.md CHANGED
@@ -104,6 +104,12 @@ with `heroku ______ --remote staging` or `heroku ______ --remote production`:
104
104
  watch production ps
105
105
  staging open
106
106
 
107
+ You can optionally parallelize a DB restore by passing `--parallelize`
108
+ as a flag to the `development` or `production` commands:
109
+ ```
110
+ development restore-from production --parallelize
111
+ ```
112
+
107
113
  [2]: http://redis.io/commands
108
114
 
109
115
  Convention
@@ -10,6 +10,7 @@ module Parity
10
10
  def initialize(args)
11
11
  @from, @to = args.values_at(:from, :to)
12
12
  @additional_args = args[:additional_args] || BLANK_ARGUMENTS
13
+ @parallelize = args[:parallelize] || false
13
14
  end
14
15
 
15
16
  def restore
@@ -24,7 +25,9 @@ module Parity
24
25
 
25
26
  private
26
27
 
27
- attr_reader :additional_args, :from, :to
28
+ attr_reader :additional_args, :from, :to, :parallelize
29
+
30
+ alias :parallelize? :parallelize
28
31
 
29
32
  def restore_from_development
30
33
  reset_remote_database
@@ -115,10 +118,10 @@ module Parity
115
118
  end
116
119
 
117
120
  def processor_cores
118
- if ruby_version_over_2_2?
121
+ if parallelize? && ruby_version_over_2_2?
119
122
  Etc.nprocessors
120
123
  else
121
- 2
124
+ 1
122
125
  end
123
126
  end
124
127
 
@@ -57,6 +57,7 @@ module Parity
57
57
  Backup.new(
58
58
  from: arguments.first,
59
59
  to: environment,
60
+ parallelize: parallelize?,
60
61
  additional_args: additional_restore_arguments,
61
62
  ).restore
62
63
  end
@@ -72,10 +73,13 @@ module Parity
72
73
  arguments.include?("--force")
73
74
  end
74
75
 
76
+ def parallelize?
77
+ arguments.include?("--parallelize")
78
+ end
79
+
75
80
  def additional_restore_arguments
76
- (arguments.drop(1) - ["--force"] + [restore_confirmation_argument]).
77
- compact.
78
- join(" ")
81
+ (arguments.drop(1) - ["--force", "--parallelize"] +
82
+ [restore_confirmation_argument]).compact.join(" ")
79
83
  end
80
84
 
81
85
  def restore_confirmation_argument
@@ -1,3 +1,3 @@
1
1
  module Parity
2
- VERSION = "3.2.0".freeze
2
+ VERSION = "3.3.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parity
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Croak
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-04 00:00:00.000000000 Z
12
+ date: 2020-02-27 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: |2
15
15
  Development/staging/production parity makes it easier for
@@ -54,8 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  requirements: []
57
- rubyforge_project:
58
- rubygems_version: 2.7.6
57
+ rubygems_version: 3.0.6
59
58
  signing_key:
60
59
  specification_version: 4
61
60
  summary: Shell commands for development, staging, and production parity.