varslist 0.0.5 → 0.0.6
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/bin/vars +3 -0
- data/bin/varslist +23 -1
- data/lib/varslist.rb +65 -9
- metadata +46 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f578f9de2cb52f6154d1787daae2615307207d9622489cfaad40a5d92589bad
|
4
|
+
data.tar.gz: 108eea269734618b64b21ab5a80c856881b7bb28d4926cf91d171ea14e94e9a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 724bb52c0adcde74f690d48a58a90935f165440674c619efb331cfa7bdef0e4ffd10445d4a49acf4e075553992c2ada0b2e06bcd27ad51f05d60f9fb7f5caca5
|
7
|
+
data.tar.gz: f5210a9cb5e8105b33be6802ca8c81b49780a359e871b167f1921554376b63eea55d0102fd3375a9ecd8b3f118762132f127c6a6fc05f6f53022339ab676fe12
|
data/bin/vars
ADDED
data/bin/varslist
CHANGED
@@ -1,2 +1,24 @@
|
|
1
|
+
#!/usr/bin/env rails
|
2
|
+
|
3
|
+
rails_root = Dir.pwd
|
4
|
+
|
5
|
+
require 'rubygems'
|
6
|
+
require_relative "#{rails_root}/config/environment"
|
7
|
+
require_relative "#{rails_root}/config/application"
|
1
8
|
require 'varslist'
|
2
|
-
Varslist.list_env_variables
|
9
|
+
env_vars = Varslist.list_env_variables
|
10
|
+
|
11
|
+
if ARGV.empty?
|
12
|
+
Varslist.print_used_var_list(env_vars)
|
13
|
+
exit
|
14
|
+
end
|
15
|
+
|
16
|
+
if ARGV.include?('--file')
|
17
|
+
Varslist.print_env(env_vars)
|
18
|
+
exit
|
19
|
+
end
|
20
|
+
|
21
|
+
if ARGV.include?('--verify')
|
22
|
+
Varslist.verify_var_list(env_vars)
|
23
|
+
exit
|
24
|
+
end
|
data/lib/varslist.rb
CHANGED
@@ -1,27 +1,83 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'colorize'
|
4
|
+
rails_root = Dir.pwd
|
5
|
+
require_relative "#{rails_root}/config/environment"
|
4
6
|
|
5
7
|
module Varslist
|
8
|
+
|
6
9
|
def self.list_env_variables
|
10
|
+
env_use_list = []
|
7
11
|
watch_list = /\.rb$|\.html\.erb$/
|
12
|
+
env_regex = /ENV\[['"]\w+['"]\]|ENV\.fetch/
|
8
13
|
filelist = Dir['./**/**/*.*']
|
9
14
|
filelist.each do |file|
|
10
|
-
|
15
|
+
if File.basename(file) =~ watch_list
|
16
|
+
File.foreach(file).with_index do |line, index|
|
17
|
+
next if line.strip.empty? || line.strip.start_with?('#')
|
18
|
+
if line =~ env_regex
|
19
|
+
env_use_list << { "line" => line.strip, "file_name" => file, "line_number" => index + 1, "var_name" => check_var_name(line)}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
11
23
|
end
|
24
|
+
env_use_list
|
12
25
|
end
|
26
|
+
|
13
27
|
|
14
|
-
def self.
|
15
|
-
|
16
|
-
|
17
|
-
|
28
|
+
def self.check_var_name(line)
|
29
|
+
if match = line.scan(/ENV\[['"]([^'"]+)['"]\]|ENV\.fetch\(['"]([^'"]+)['"]/)
|
30
|
+
vars=match.flatten.compact.each do |env_var|
|
31
|
+
env_var
|
32
|
+
end
|
33
|
+
vars.join
|
34
|
+
else
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.print_env(found_envs)
|
40
|
+
found_envs.each do |env_line|
|
41
|
+
puts "#{env_line["file_name"]}:#{env_line["line_number"]}\t#{env_line["var_name"]}".colorize(:magenta)
|
42
|
+
puts "\n\t#{env_line["line"]}\n".colorize(:green)
|
43
|
+
end
|
44
|
+
end
|
18
45
|
|
19
|
-
|
20
|
-
|
21
|
-
|
46
|
+
|
47
|
+
def self.print_used_var_list(found_envs)
|
48
|
+
puts "\n\nThe used ENV variables".colorize(:magenta)
|
49
|
+
used_vars=[]
|
50
|
+
found_envs.each do |found_env|
|
51
|
+
used_vars << found_env["var_name"] unless used_vars.include?(found_env["var_name"])
|
52
|
+
end
|
53
|
+
used_vars.each do |var|
|
54
|
+
puts "\t#{var}".colorize(:green)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.verify_var_list(found_envs)
|
59
|
+
valid_env = []
|
60
|
+
invalid_env = []
|
61
|
+
found_envs.each do |found_env|
|
62
|
+
if ENV[found_env["var_name"]] != nil
|
63
|
+
valid_env << found_env["var_name"] unless valid_env.include?(found_env["var_name"])
|
64
|
+
else
|
65
|
+
invalid_env << found_env["var_name"] unless invalid_env.include?(found_env["var_name"])
|
66
|
+
end
|
67
|
+
end
|
68
|
+
if !valid_env.empty?
|
69
|
+
puts "\n\nThe valid envs are:".colorize(:magenta)
|
70
|
+
valid_env.each do |valid|
|
71
|
+
puts "\t#{valid}".colorize(:green)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
if !invalid_env.empty?
|
75
|
+
puts "\n\nThe invalid envs are:".colorize(:magenta)
|
76
|
+
invalid_env.each do |valid|
|
77
|
+
puts "\t#{valid}".colorize(:red)
|
22
78
|
end
|
23
79
|
end
|
24
80
|
end
|
25
81
|
|
26
|
-
private_class_method :check_environment
|
82
|
+
# private_class_method :check_environment
|
27
83
|
end
|
metadata
CHANGED
@@ -1,23 +1,65 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: varslist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sumit Pati
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
12
|
-
dependencies:
|
11
|
+
date: 2024-12-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: colorize
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.0.4
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.0.4
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: colorize
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.0.4
|
43
|
+
type: :development
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.0.4
|
13
53
|
description:
|
14
54
|
email:
|
15
55
|
executables:
|
16
56
|
- varslist
|
57
|
+
- vars
|
17
58
|
extensions: []
|
18
59
|
extra_rdoc_files: []
|
19
60
|
files:
|
20
61
|
- Gemfile
|
62
|
+
- bin/vars
|
21
63
|
- bin/varslist
|
22
64
|
- lib/varslist.rb
|
23
65
|
homepage: https://rubygems.org/gems/varslist
|
@@ -38,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
38
80
|
- !ruby/object:Gem::Version
|
39
81
|
version: '0'
|
40
82
|
requirements: []
|
41
|
-
rubygems_version: 3.5
|
83
|
+
rubygems_version: 3.3.5
|
42
84
|
signing_key:
|
43
85
|
specification_version: 4
|
44
86
|
summary: Display the list of created Environment variables
|