env_compare 0.1.3.pre.alpha → 0.1.3.pre.beta
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 +4 -4
- data/.rubocop.yml +97 -0
- data/CHANGELOG.md +11 -4
- data/Gemfile.lock +12 -12
- data/README.md +32 -4
- data/bin/console +15 -0
- data/env_compare.gemspec +1 -1
- data/exe/ec +1 -0
- data/lib/env_compare/cli.rb +15 -5
- data/lib/env_compare/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e51a067d2f76fb50f8d90005c51ff3a538d4d426087f9a36da38321050736b32
|
4
|
+
data.tar.gz: 370af34407e7666e1484d405d8a36bb31daf2c925d9a690caa7099184ade4ec8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d78e742eb5556f34b52d19d15c34f8d653a3bd7d65586b4cc24d88607cdbc1c24b2b28a63b5b45b25ad3a1a8e868559ea162e7abd57591645f1828946c7e896
|
7
|
+
data.tar.gz: a57c5325cc82f97815170ba3f9e31cb9845efae58fc7115bdd8ba2e4c8ea1c978a73b2cb1c3fa8dd10034a73926a46389e3636c45ef2b277444b8c7daa087c61
|
data/.rubocop.yml
CHANGED
@@ -29,43 +29,140 @@ Layout/SpaceAroundMethodCallOperator:
|
|
29
29
|
Enabled: true
|
30
30
|
|
31
31
|
|
32
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
33
|
+
Enabled: true
|
34
|
+
|
32
35
|
Lint/DeprecatedOpenSSLConstant:
|
33
36
|
Enabled: true
|
34
37
|
|
38
|
+
Lint/DuplicateElsifCondition:
|
39
|
+
Enabled: true
|
40
|
+
|
41
|
+
Lint/DuplicateRescueException:
|
42
|
+
Enabled: true
|
43
|
+
|
44
|
+
Lint/EmptyConditionalBody:
|
45
|
+
Enabled: true
|
46
|
+
|
47
|
+
Lint/FloatComparison:
|
48
|
+
Enabled: true
|
49
|
+
|
50
|
+
Lint/MissingSuper:
|
51
|
+
Enabled: true
|
52
|
+
|
35
53
|
Lint/MixedRegexpCaptureTypes:
|
36
54
|
Enabled: true
|
37
55
|
|
56
|
+
Lint/OutOfRangeRegexpRef:
|
57
|
+
Enabled: true
|
58
|
+
|
38
59
|
Lint/RaiseException:
|
39
60
|
Enabled: true
|
40
61
|
|
62
|
+
Lint/SelfAssignment:
|
63
|
+
Enabled: true
|
64
|
+
|
41
65
|
Lint/StructNewOverride:
|
42
66
|
Enabled: true
|
43
67
|
|
68
|
+
Lint/TopLevelReturnWithArgument:
|
69
|
+
Enabled: true
|
70
|
+
|
71
|
+
Lint/UnreachableLoop:
|
72
|
+
Enabled: true
|
73
|
+
|
44
74
|
|
45
75
|
Metrics/MethodLength:
|
46
76
|
Max: 15
|
47
77
|
|
48
78
|
|
79
|
+
Performance/AncestorsInclude:
|
80
|
+
Enabled: true
|
81
|
+
|
82
|
+
Performance/BigDecimalWithNumericArgument:
|
83
|
+
Enabled: true
|
84
|
+
|
85
|
+
Performance/RedundantSortBlock:
|
86
|
+
Enabled: true
|
87
|
+
|
88
|
+
Performance/RedundantStringChars:
|
89
|
+
Enabled: true
|
90
|
+
|
91
|
+
Performance/ReverseFirst:
|
92
|
+
Enabled: true
|
93
|
+
|
94
|
+
Performance/SortReverse:
|
95
|
+
Enabled: true
|
96
|
+
|
97
|
+
Performance/Squeeze:
|
98
|
+
Enabled: true
|
99
|
+
|
100
|
+
Performance/StringInclude:
|
101
|
+
Enabled: true
|
102
|
+
|
103
|
+
|
104
|
+
Style/AccessorGrouping:
|
105
|
+
Enabled: true
|
106
|
+
|
107
|
+
Style/ArrayCoercion:
|
108
|
+
Enabled: true
|
109
|
+
|
110
|
+
Style/BisectedAttrAccessor:
|
111
|
+
Enabled: true
|
112
|
+
|
113
|
+
Style/CaseLikeIf:
|
114
|
+
Enabled: true
|
115
|
+
|
49
116
|
Style/Documentation:
|
50
117
|
Enabled: false
|
51
118
|
|
52
119
|
Style/ExponentialNotation:
|
53
120
|
Enabled: true
|
54
121
|
|
122
|
+
Style/ExplicitBlockArgument:
|
123
|
+
Enabled: true
|
124
|
+
|
125
|
+
Style/GlobalStdStream:
|
126
|
+
Enabled: true
|
127
|
+
|
128
|
+
Style/HashAsLastArrayItem:
|
129
|
+
Enabled: true
|
130
|
+
|
55
131
|
Style/HashEachMethods:
|
56
132
|
Enabled: true
|
57
133
|
|
134
|
+
Style/HashLikeCase:
|
135
|
+
Enabled: true
|
136
|
+
|
58
137
|
Style/HashTransformKeys:
|
59
138
|
Enabled: true
|
60
139
|
|
61
140
|
Style/HashTransformValues:
|
62
141
|
Enabled: true
|
63
142
|
|
143
|
+
Style/OptionalBooleanParameter:
|
144
|
+
Enabled: true
|
145
|
+
|
146
|
+
Style/RedundantAssignment:
|
147
|
+
Enabled: true
|
148
|
+
|
149
|
+
Style/RedundantFetchBlock:
|
150
|
+
Enabled: true
|
151
|
+
|
64
152
|
Style/RedundantRegexpCharacterClass:
|
65
153
|
Enabled: true
|
66
154
|
|
67
155
|
Style/RedundantRegexpEscape:
|
68
156
|
Enabled: true
|
69
157
|
|
158
|
+
Style/RedundantFileExtensionInRequire:
|
159
|
+
Enabled: true
|
160
|
+
|
161
|
+
Style/SingleArgumentDig:
|
162
|
+
Enabled: true
|
163
|
+
|
70
164
|
Style/SlicingWithRange:
|
71
165
|
Enabled: true
|
166
|
+
|
167
|
+
Style/StringConcatenation:
|
168
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
##
|
3
|
+
## [Unreleased]
|
4
|
+
## [0.1.3.pre.beta]
|
5
|
+
- Added `force` and `no-force` options for updating environment variables.
|
4
6
|
|
5
|
-
|
7
|
+
## [Released]
|
8
|
+
### [0.1.3.pre.alpha] - 2020-07-29
|
9
|
+
- Added Heroku Oauth.
|
10
|
+
- Added ability to update/remove environment variables.
|
6
11
|
|
7
|
-
|
12
|
+
### [0.1.1] - 2020-06-12
|
13
|
+
- Improve description example on `diff` option.
|
8
14
|
|
9
|
-
|
15
|
+
### [0.1.0] - 2020-06-12
|
16
|
+
- Initial release. Includes a `diff` option & 2 themes.
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
env_compare (0.1.3.pre.
|
4
|
+
env_compare (0.1.3.pre.beta)
|
5
5
|
launchy
|
6
6
|
platform-api
|
7
7
|
thor
|
@@ -13,7 +13,7 @@ GEM
|
|
13
13
|
public_suffix (>= 2.0.2, < 5.0)
|
14
14
|
ast (2.4.1)
|
15
15
|
coderay (1.1.3)
|
16
|
-
diff-lcs (1.
|
16
|
+
diff-lcs (1.4.4)
|
17
17
|
erubis (2.7.0)
|
18
18
|
excon (0.76.0)
|
19
19
|
heroics (0.1.1)
|
@@ -26,9 +26,9 @@ GEM
|
|
26
26
|
method_source (1.0.0)
|
27
27
|
moneta (1.0.0)
|
28
28
|
multi_json (1.15.0)
|
29
|
-
parallel (1.19.
|
30
|
-
parser (2.7.1.
|
31
|
-
ast (~> 2.4.
|
29
|
+
parallel (1.19.2)
|
30
|
+
parser (2.7.1.4)
|
31
|
+
ast (~> 2.4.1)
|
32
32
|
platform-api (3.0.0)
|
33
33
|
heroics (~> 0.1.1)
|
34
34
|
moneta (~> 1.0.0)
|
@@ -55,19 +55,19 @@ GEM
|
|
55
55
|
diff-lcs (>= 1.2.0, < 2.0)
|
56
56
|
rspec-support (~> 3.9.0)
|
57
57
|
rspec-support (3.9.3)
|
58
|
-
rubocop (0.
|
58
|
+
rubocop (0.89.1)
|
59
59
|
parallel (~> 1.10)
|
60
|
-
parser (>= 2.7.
|
60
|
+
parser (>= 2.7.1.1)
|
61
61
|
rainbow (>= 2.2.2, < 4.0)
|
62
62
|
regexp_parser (>= 1.7)
|
63
63
|
rexml
|
64
|
-
rubocop-ast (>= 0.0.
|
64
|
+
rubocop-ast (>= 0.3.0, < 1.0)
|
65
65
|
ruby-progressbar (~> 1.7)
|
66
66
|
unicode-display_width (>= 1.4.0, < 2.0)
|
67
|
-
rubocop-ast (0.0
|
68
|
-
parser (>= 2.7.
|
69
|
-
rubocop-performance (1.
|
70
|
-
rubocop (>= 0.
|
67
|
+
rubocop-ast (0.3.0)
|
68
|
+
parser (>= 2.7.1.4)
|
69
|
+
rubocop-performance (1.7.1)
|
70
|
+
rubocop (>= 0.82.0)
|
71
71
|
ruby-progressbar (1.10.1)
|
72
72
|
thor (1.0.1)
|
73
73
|
unicode-display_width (1.7.0)
|
data/README.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
# EnvCompare
|
2
|
+
[](https://img.shields.io/gem/v/env_compare)
|
3
|
+

|
4
|
+
[](https://github.com/rubocop-hq/rubocop)
|
5
|
+
[](https://github.com/jaydorsey/env_compare/blob/main/LICENSE)
|
2
6
|
|
3
7
|
Compare Heroku ENV variables across environments in an HTML
|
4
8
|
table.
|
@@ -63,7 +67,7 @@ Use `ec` command to start comparing 2 or more heroku application environment var
|
|
63
67
|
|
64
68
|
When only one application name is specified, output is shown in cli. Otherwise, your default browser is launched.
|
65
69
|
|
66
|
-
##
|
70
|
+
## Comparing environment variables
|
67
71
|
|
68
72
|
### Show **differences** **default*
|
69
73
|
```bash
|
@@ -88,15 +92,22 @@ ec diff --theme light heroku-app-name1 heroku-app-name2
|
|
88
92
|
## Updating environment variables across multiple apps
|
89
93
|
|
90
94
|
You can use `ec update` to set or clear an environment variable across multiple Heroku
|
91
|
-
applications.
|
95
|
+
applications. This includes the options:
|
92
96
|
|
93
|
-
|
97
|
+
- `--key=` is required. The name of the Heroku environment variable you want to update.
|
98
|
+
- `--value=` is optional. The value of the environment variable you want to update. If not provided, will unset the environment variable.
|
99
|
+
- `--force` is a default option. Updates the environment variable, or adds it if not present.
|
100
|
+
- `--no-force` is optional. Only update the environment variable if present in the application.
|
101
|
+
|
102
|
+
### Examples
|
103
|
+
|
104
|
+
#### Update an environment variable
|
94
105
|
|
95
106
|
```bash
|
96
107
|
ec update heroku-app-name1 heroku-app-name2 heroku-app-name3 --key=MY_KEY --value=asdf
|
97
108
|
```
|
98
109
|
|
99
|
-
|
110
|
+
#### Clear an environment variable
|
100
111
|
|
101
112
|
The default key value is nil; omit the `--key` argument if you want to clear an
|
102
113
|
environment variable.
|
@@ -104,6 +115,7 @@ environment variable.
|
|
104
115
|
```bash
|
105
116
|
ec update heroku-app-name1 heroku-app-name2 heroku-app-name3 --key=MY_KEY
|
106
117
|
```
|
118
|
+
|
107
119
|
## Development
|
108
120
|
|
109
121
|
To test this on your machine locally, after cloning the repo:
|
@@ -112,6 +124,22 @@ To test this on your machine locally, after cloning the repo:
|
|
112
124
|
bundle
|
113
125
|
bundle exec ec diff heroku-app-name1 heroku-app-name2
|
114
126
|
|
127
|
+
You can also optionally build & install the gem locally to test:
|
128
|
+
|
129
|
+
rake build
|
130
|
+
gem install pkg/env_compare.<version_number>.gem
|
131
|
+
|
132
|
+
Then, use the `ec` command as normal.
|
133
|
+
### Publishing the gem
|
134
|
+
|
135
|
+
If you have access to publish the gem on rubygems:
|
136
|
+
|
137
|
+
rake build
|
138
|
+
cd pkg
|
139
|
+
gem push env_compare.<version_number>.gem
|
140
|
+
|
115
141
|
## Contributing
|
116
142
|
|
117
143
|
Bug reports and pull requests are welcome on GitHub at https://github.com/jaydorsey/env_compare.
|
144
|
+
|
145
|
+
[](https://img.shields.io/github/contributors/jaydorsey/env_compare)
|
data/bin/console
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
require 'bundler/setup'
|
4
5
|
require 'env_compare'
|
@@ -8,4 +9,18 @@ require 'env_compare'
|
|
8
9
|
|
9
10
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
11
|
require 'pry'
|
12
|
+
|
13
|
+
def reload!
|
14
|
+
puts 'Reloading ...'
|
15
|
+
|
16
|
+
root_dir = File.expand_path('..', __dir__)
|
17
|
+
reload_dirs = %w[lib]
|
18
|
+
|
19
|
+
reload_dirs.each do |dir|
|
20
|
+
Dir.glob("#{root_dir}/#{dir}/**/*.rb").each { |file| load(file) }
|
21
|
+
end
|
22
|
+
|
23
|
+
true
|
24
|
+
end
|
25
|
+
|
11
26
|
Pry.start
|
data/env_compare.gemspec
CHANGED
@@ -28,8 +28,8 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.require_paths = ['lib']
|
29
29
|
|
30
30
|
spec.add_dependency 'launchy'
|
31
|
-
spec.add_dependency 'thor'
|
32
31
|
spec.add_dependency 'platform-api'
|
32
|
+
spec.add_dependency 'thor'
|
33
33
|
|
34
34
|
spec.add_development_dependency 'pry'
|
35
35
|
spec.add_development_dependency 'rspec'
|
data/exe/ec
CHANGED
data/lib/env_compare/cli.rb
CHANGED
@@ -41,13 +41,17 @@ module EnvCompare
|
|
41
41
|
save_and_open_file(html)
|
42
42
|
end
|
43
43
|
|
44
|
-
# ec update app1 app2 KEY_NAME value
|
45
44
|
option :key, type: :string, desc: 'Key name'
|
46
45
|
option :value, type: :string, default: nil, desc: 'Value of key'
|
47
|
-
|
46
|
+
option :force, type: :boolean, default: true, desc: 'Add the ENV, even if it does not exist'
|
47
|
+
desc 'update heroku-app-name-1 heroku-app-name-2 --key=MY_KEY --value=test', 'Update environment variable for 1+ environments'
|
48
48
|
def update(*apps)
|
49
49
|
apps.each do |app|
|
50
|
-
|
50
|
+
if options.force
|
51
|
+
config_var_update(app, { options[:key] => options[:value] })
|
52
|
+
else
|
53
|
+
conditional_config_var_update(app, { options[:key] => options[:value] })
|
54
|
+
end
|
51
55
|
end
|
52
56
|
end
|
53
57
|
|
@@ -114,8 +118,14 @@ module EnvCompare
|
|
114
118
|
@theme_path ||= File.join(File.dirname(__dir__), '..', 'themes', "#{file}.erb")
|
115
119
|
end
|
116
120
|
|
117
|
-
def
|
118
|
-
heroku.config_var.update(
|
121
|
+
def config_var_update(app_name, env_hash)
|
122
|
+
heroku.config_var.update(app_name, env_hash)
|
123
|
+
end
|
124
|
+
|
125
|
+
def conditional_config_var_update(app_name, env_hash)
|
126
|
+
return if config_vars_for_app(app_name)[options[:key]].nil?
|
127
|
+
|
128
|
+
config_var_update(app_name, env_hash)
|
119
129
|
end
|
120
130
|
end
|
121
131
|
end
|
data/lib/env_compare/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: env_compare
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.3.pre.
|
4
|
+
version: 0.1.3.pre.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Dorsey
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: launchy
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: platform-api
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: thor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|