varslist 0.0.5 → 0.0.7
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 +27 -1
- data/lib/varslist.rb +72 -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: d1d7241a9064fedd4345223ba66adc0ba6623ea8f576f2dae0e4c53700ef9013
|
4
|
+
data.tar.gz: 6f404ccc9867a09a00015d51f6d61d76bb27456852084e68648c1f9586db881a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dca53197bf5fca8e3b569b94736c252c21441780684e329adae94be13acda4d80f5370be02f56e18bab7a2c92432806a5f08c291d9cf6e8d75e5f90e4ef686df
|
7
|
+
data.tar.gz: 368199a27f4ed8b1306a490cf978d591fb345db76dcdb9950dfe7cbaa778ef70684ea5050dcb1c4e7ab5b5e6668136b762d01f34a14e682d03bce7dfa6a10f95
|
data/bin/vars
ADDED
data/bin/varslist
CHANGED
@@ -1,2 +1,28 @@
|
|
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
|
25
|
+
|
26
|
+
if ARGV.include?('--help')
|
27
|
+
Varslist.print_help
|
28
|
+
end
|
data/lib/varslist.rb
CHANGED
@@ -1,27 +1,90 @@
|
|
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
|
13
26
|
|
14
|
-
def self.
|
15
|
-
|
16
|
-
|
17
|
-
|
27
|
+
def self.print_help
|
28
|
+
puts "Help for Varslist".colorize(:magenta)
|
29
|
+
puts "Use varslist to show all the ENV variables used in all .rb and .erb files"
|
30
|
+
puts "--file = to show file list where the ENV variables are used"
|
31
|
+
puts "--verify = to verify if all the ENV variable are valid"
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
def self.check_var_name(line)
|
36
|
+
if match = line.scan(/ENV\[['"]([^'"]+)['"]\]|ENV\.fetch\(['"]([^'"]+)['"]/)
|
37
|
+
vars=match.flatten.compact.each do |env_var|
|
38
|
+
env_var
|
39
|
+
end
|
40
|
+
vars.join
|
41
|
+
else
|
42
|
+
nil
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.print_env(found_envs)
|
47
|
+
found_envs.each do |env_line|
|
48
|
+
puts "#{env_line["file_name"]}:#{env_line["line_number"]}\t#{env_line["var_name"]}".colorize(:magenta)
|
49
|
+
puts "\n\t#{env_line["line"]}\n".colorize(:green)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def self.print_used_var_list(found_envs)
|
55
|
+
puts "\n\nThe used ENV variables".colorize(:magenta)
|
56
|
+
used_vars=[]
|
57
|
+
found_envs.each do |found_env|
|
58
|
+
used_vars << found_env["var_name"] unless used_vars.include?(found_env["var_name"])
|
59
|
+
end
|
60
|
+
used_vars.each do |var|
|
61
|
+
puts "\t#{var}".colorize(:green)
|
62
|
+
end
|
63
|
+
end
|
18
64
|
|
19
|
-
|
20
|
-
|
21
|
-
|
65
|
+
def self.verify_var_list(found_envs)
|
66
|
+
valid_env = []
|
67
|
+
invalid_env = []
|
68
|
+
found_envs.each do |found_env|
|
69
|
+
if ENV[found_env["var_name"]] != nil
|
70
|
+
valid_env << found_env["var_name"] unless valid_env.include?(found_env["var_name"])
|
71
|
+
else
|
72
|
+
invalid_env << found_env["var_name"] unless invalid_env.include?(found_env["var_name"])
|
73
|
+
end
|
74
|
+
end
|
75
|
+
if !valid_env.empty?
|
76
|
+
puts "\n\nThe valid envs are:".colorize(:magenta)
|
77
|
+
valid_env.each do |valid|
|
78
|
+
puts "\t#{valid}".colorize(:green)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
if !invalid_env.empty?
|
82
|
+
puts "\n\nThe invalid envs are:".colorize(:magenta)
|
83
|
+
invalid_env.each do |valid|
|
84
|
+
puts "\t#{valid}".colorize(:red)
|
22
85
|
end
|
23
86
|
end
|
24
87
|
end
|
25
88
|
|
26
|
-
private_class_method :check_environment
|
89
|
+
# private_class_method :check_environment
|
27
90
|
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.7
|
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
|