vls 0.3.5 → 0.3.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/README.md +37 -8
- data/bin/vls +19 -10
- data/lib/vls.rb +15 -6
- data/lib/vls/monkey_patch.rb +4 -2
- data/lib/vls/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f00674ec64efd09019927af8a965dd74bb0eb4a7
|
4
|
+
data.tar.gz: 4e34a3c7ede30d8d205cad663b494ff7a6a0b9ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9232aed7288924b26178cee63a2a276ea49a44181c85077832e6d026eb3f8008f7564c61b3d9ba030b2a89f4b004fea6e054d0189f871f5cf8c5fac28945726
|
7
|
+
data.tar.gz: d2d4d3b9f2b4f4fce35209fed9fab50a53b970c9e8f5e2de8cbad1a97de95cde72917e489da195e4c2e26e890a367bc026a4143371e7e3c500fc859fc758809f
|
data/README.md
CHANGED
@@ -25,16 +25,30 @@ The vls gem itself is found at: ( https://rubygems.org/gems/vls )
|
|
25
25
|
|
26
26
|
## Usage
|
27
27
|
|
28
|
-
The vls utility is normally used at the command line. The
|
28
|
+
The vls utility is normally used at the command line. The usage template
|
29
29
|
is:
|
30
30
|
|
31
|
-
|
31
|
+
vls (VersionLS): 0.3.6
|
32
32
|
|
33
|
-
|
34
|
-
|
33
|
+
A command line utility that lists the versions of modules used by the specified
|
34
|
+
gems/ruby files.
|
35
|
+
|
36
|
+
Usage: $ vls <options> <names>
|
37
|
+
|
38
|
+
<options>
|
39
|
+
--filter, -f <s/r> = Filter results by string or regular expression.
|
40
|
+
--help, -h, -? = Display this text and exit.
|
41
|
+
--raw, -r = Display results with no header text.
|
42
|
+
|
43
|
+
<names> are gems/files to be required before modules are listed.
|
44
|
+
|
45
|
+
Note:
|
46
|
+
To specify a file instead of a gem, a '.rb' extension is required.
|
47
|
+
|
48
|
+
For example:
|
35
49
|
|
36
50
|
$ vls rails
|
37
|
-
vls (VersionLS): 0.3.
|
51
|
+
vls (VersionLS): 0.3.6
|
38
52
|
|
39
53
|
ActionPack, 4.2.6
|
40
54
|
ActiveSupport, 4.2.6
|
@@ -53,7 +67,7 @@ In order to use relative paths instead of the gem search path, the .rb extension
|
|
53
67
|
needs to be specified on the target file.
|
54
68
|
|
55
69
|
$ vls ruby_sscanf.rb
|
56
|
-
vls (VersionLS): 0.3.
|
70
|
+
vls (VersionLS): 0.3.6
|
57
71
|
|
58
72
|
FormatEngine, 0.7.2
|
59
73
|
Gem, 2.2.2
|
@@ -62,7 +76,7 @@ needs to be specified on the target file.
|
|
62
76
|
The vls utility is also available for use within an application. It may be
|
63
77
|
accessed with:
|
64
78
|
```ruby
|
65
|
-
module_version_list = VersionLS.vls
|
79
|
+
module_version_list = VersionLS.vls(filter=/./)
|
66
80
|
```
|
67
81
|
This returns an array of entries, sorted by module name, consisting of an
|
68
82
|
array with the module and a string with its version. Also, the Object class
|
@@ -70,7 +84,7 @@ is monkey patched with the vls method that outputs the information to the
|
|
70
84
|
console.
|
71
85
|
|
72
86
|
```ruby
|
73
|
-
vls
|
87
|
+
vls(filter=/./)
|
74
88
|
```
|
75
89
|
|
76
90
|
Note that these methods do not accept a list of modules to be required. It
|
@@ -79,6 +93,8 @@ would have already been loaded. In addition, the vls listing to the console
|
|
79
93
|
has no header information. If this is desired, the application should do a
|
80
94
|
puts of the appropriate descriptive text.
|
81
95
|
|
96
|
+
Both of these methods _do_ take an optional filter string or regular expression.
|
97
|
+
|
82
98
|
## The Rails Console
|
83
99
|
|
84
100
|
If the vls gem has been added to a rails project (in its Gemfile), its
|
@@ -168,6 +184,19 @@ load out of the web site. For example:
|
|
168
184
|
=> nil
|
169
185
|
irb(main):002:0>
|
170
186
|
|
187
|
+
Of course, filtering is available at this level too:
|
188
|
+
|
189
|
+
irb(main):003:0> vls 'Rails'
|
190
|
+
Coffee::Rails, 4.1.1
|
191
|
+
Jquery::Rails, 4.1.1
|
192
|
+
Rails, 4.2.6
|
193
|
+
Rails::Html::FullSanitizer, 1.0.3
|
194
|
+
Rails::Html::LinkSanitizer, 1.0.3
|
195
|
+
Rails::Html::Sanitizer, 1.0.3
|
196
|
+
Rails::Html::WhiteListSanitizer, 1.0.3
|
197
|
+
Sass::Rails, 5.0.4
|
198
|
+
Sprockets::Rails, 3.0.4
|
199
|
+
|
171
200
|
## Usage in Rails Views
|
172
201
|
|
173
202
|
It is also possible to incorporate vls data into a view using the VersionLS.vls
|
data/bin/vls
CHANGED
@@ -12,25 +12,32 @@ def vls_show_help
|
|
12
12
|
puts VersionLS::DESCRIPTION
|
13
13
|
puts "\nUsage: $ vls <options> <names>"
|
14
14
|
puts "\n<options>"
|
15
|
-
puts " --
|
16
|
-
puts " --
|
15
|
+
puts " --filter, -f <s/r> = Filter results by string or regular expression."
|
16
|
+
puts " --help, -h, -? = Display this text and exit."
|
17
|
+
puts " --raw, -r = Display results with no header text."
|
17
18
|
puts "\n<names> are gems/files to be required before modules are listed."
|
18
19
|
puts "\nNote:"
|
19
20
|
puts " To specify a file instead of a gem, a '.rb' extension is required."
|
20
21
|
exit
|
21
22
|
end
|
22
23
|
|
23
|
-
load_list, no_header = [], false
|
24
|
+
load_list, no_header, special, option_args = [], false, false, {filter: "/./"}
|
24
25
|
|
25
26
|
#Process the script argument list.
|
26
27
|
ARGV.each do |arg|
|
27
|
-
|
28
|
-
|
29
|
-
vls_show_help
|
30
|
-
when "--raw", "-r"
|
31
|
-
no_header = true
|
28
|
+
if special
|
29
|
+
option_args[special], special = arg, false
|
32
30
|
else
|
33
|
-
|
31
|
+
case arg
|
32
|
+
when "--filter", "-f"
|
33
|
+
special = :filter
|
34
|
+
when "--help", "-h", "-?"
|
35
|
+
vls_show_help
|
36
|
+
when "--raw", "-r"
|
37
|
+
no_header = true
|
38
|
+
else
|
39
|
+
load_list << arg
|
40
|
+
end
|
34
41
|
end
|
35
42
|
end
|
36
43
|
|
@@ -52,4 +59,6 @@ load_list.each do |pkg|
|
|
52
59
|
end
|
53
60
|
end
|
54
61
|
|
55
|
-
|
62
|
+
filter = option_args[:filter]
|
63
|
+
filter = Regexp.new(filter[1...-1]) if /^\/.*\/$/ =~ filter
|
64
|
+
VersionLS.print_vls(filter) unless errors_found
|
data/lib/vls.rb
CHANGED
@@ -6,15 +6,19 @@ require_relative "vls/version"
|
|
6
6
|
# The Version LiSt utility module.
|
7
7
|
module VersionLS
|
8
8
|
#Perform a Versioned LiSt to the console.
|
9
|
-
|
10
|
-
|
9
|
+
#<br>Parameters
|
10
|
+
#* filter - a string or regex used to filter the list of modules.
|
11
|
+
def self.print_vls(filter)
|
12
|
+
vls(filter).each{|mod| puts "#{mod[0]}, #{mod[1]}"}
|
11
13
|
nil
|
12
14
|
end
|
13
15
|
|
14
16
|
#Execute the core of the vls command and return an array of
|
15
17
|
#[module, version] arrays.
|
16
|
-
|
17
|
-
|
18
|
+
#<br>Parameters
|
19
|
+
#* filter - a string or regex used to filter the list of modules.
|
20
|
+
def self.vls(filter=/./)
|
21
|
+
modules(filter).map do |mod|
|
18
22
|
begin
|
19
23
|
version = mod::VERSION
|
20
24
|
rescue
|
@@ -26,10 +30,15 @@ module VersionLS
|
|
26
30
|
end
|
27
31
|
|
28
32
|
#Get a list of modules that have VERSION info.
|
29
|
-
|
33
|
+
#<br>Parameters
|
34
|
+
#* filter - a string or regex used to filter the list of modules.
|
35
|
+
#<br>Returns
|
36
|
+
#* An array of module objects.
|
37
|
+
def self.modules(filter)
|
30
38
|
mods = ObjectSpace.each_object(Module).
|
31
39
|
select do |mod|
|
32
|
-
mod.const_defined?("VERSION")
|
40
|
+
mod.const_defined?("VERSION") &&
|
41
|
+
mod.name.partition(filter)[1] != ""
|
33
42
|
end.
|
34
43
|
sort do |first, second|
|
35
44
|
first.name <=> second.name
|
data/lib/vls/monkey_patch.rb
CHANGED
data/lib/vls/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Camilleri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|