myprecious 0.0.3 → 0.0.4
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/lib/myprecious.rb +94 -30
- 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: b943f489c99bee0c0196fc99dabbe344113b2e5f
|
4
|
+
data.tar.gz: 1ee1410f7c4d607f9c43444aa4803b2e0f20f72e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1aad09474b21bb26fc7ba3ae72ff3c47ea59ac5958a3f7e28af8568eea1d72e1ff93f21ba058dfdceb2077d8f7d9bd59b53dd3374ca2f0ecc374b14ee0422eb6
|
7
|
+
data.tar.gz: 547fe32c28a3ba30c8c7dcc4d11b1ae07320eef7c43c18ddbcf95bb091e08560b57ad4846d2fe0672a96e94ec73b0b915b23e6b4a9893c4f9ffb89823d3a4cc2
|
data/lib/myprecious.rb
CHANGED
@@ -3,45 +3,109 @@ require 'date'
|
|
3
3
|
|
4
4
|
class MyPrecious
|
5
5
|
def self.update
|
6
|
+
gem_lines = {}
|
7
|
+
gem_name_pos = 0
|
8
|
+
gem_version_pos = 1
|
9
|
+
gem_latest_pos = 2
|
10
|
+
gem_date_pos = 3
|
11
|
+
gem_age_pos = 4
|
12
|
+
gem_license_pos = 5
|
13
|
+
gem_change_pos = 6
|
14
|
+
default_length = 7
|
15
|
+
if File.file?('myprecious.md')
|
16
|
+
File.open("myprecious.md", "r").each_with_index do |line, line_number|
|
17
|
+
#puts line + " dds " + line_number.to_s
|
18
|
+
word_array = line.split('|')
|
19
|
+
if line_number == 0
|
20
|
+
default_length = word_array.size
|
21
|
+
word_array.each_with_index do |word, index|
|
22
|
+
if word.strip == 'Gem'
|
23
|
+
gem_name_pos = index
|
24
|
+
elsif word.strip == 'Our Version'
|
25
|
+
gem_version_pos = index
|
26
|
+
elsif word.strip == 'Latest Version'
|
27
|
+
gem_latest_pos = index
|
28
|
+
elsif word.strip == 'Date available'
|
29
|
+
gem_date_pos = index
|
30
|
+
elsif word.strip == 'Age (in days)'
|
31
|
+
gem_age_pos = index
|
32
|
+
elsif word.strip == 'License Type'
|
33
|
+
gem_change_pos = index
|
34
|
+
elsif word.strip == 'Change Log'
|
35
|
+
gem_change_pos = index
|
36
|
+
end
|
37
|
+
end
|
38
|
+
elsif line_number > 1
|
39
|
+
gem_name_index = word_array[gem_name_pos].strip
|
40
|
+
#extract just the name of the gem from the first column
|
41
|
+
#since that column contains a markdown-formatted hyperlink
|
42
|
+
gem_name_index = gem_name_index[/\[(.*?)\]/,1]
|
43
|
+
gem_lines[gem_name_index] = line_number
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
#puts gem_lines
|
48
|
+
else
|
49
|
+
File.open('myprecious.md', 'w') { |write_file|
|
50
|
+
write_file.puts "Gem | Our Version | Latest Version | Date available | Age (in days) | License Type | Change Log"
|
51
|
+
write_file.puts "--- | --- | --- | --- | --- | --- | ---"
|
52
|
+
}
|
53
|
+
end
|
54
|
+
|
6
55
|
file = File.new("Gemfile", "r")
|
7
56
|
|
8
|
-
File.
|
9
|
-
write_file.puts "gem | Our Version | Latest Version | Date available | Age (in days) | Change Log"
|
10
|
-
write_file.puts "--- | --- | --- | --- | --- | ---"
|
11
|
-
while (line = file.gets)
|
12
|
-
gem_line = line.strip
|
13
|
-
if (gem_line.include? 'gem') && !gem_line.start_with?('#') && !gem_line.start_with?('source')
|
14
|
-
name = gem_line.split(' ')[1].split(',')[0].split('\'')[1]
|
15
|
-
# gems_info = Gems.versions name
|
16
|
-
begin
|
17
|
-
a = require name
|
18
|
-
if a
|
19
|
-
current_version = Gem::Specification.find_all_by_name(name).max.version
|
20
|
-
gems_info = Gems.versions name
|
21
|
-
gems_latest_info = Gems.info name
|
22
|
-
latest_build = ''
|
57
|
+
final_write = File.readlines('myprecious.md')
|
23
58
|
|
24
|
-
|
25
|
-
|
26
|
-
|
59
|
+
while (line = file.gets)
|
60
|
+
gem_line = line.strip
|
61
|
+
if (gem_line.include? 'gem') && !gem_line.start_with?('#') && !gem_line.start_with?('source')
|
62
|
+
begin
|
63
|
+
name = gem_line.split(' ')[1].split(',')[0].tr(" '\"", "")
|
64
|
+
a = require name
|
65
|
+
if a
|
66
|
+
current_version = Gem::Specification.find_all_by_name(name).max.version
|
67
|
+
|
68
|
+
gems_info = Gems.versions name
|
69
|
+
gems_latest_info = Gems.info name
|
70
|
+
latest_build = ''
|
71
|
+
gems_info.each do |gem_info|
|
72
|
+
if gem_info["number"].to_s == gems_latest_info["version"].to_s
|
73
|
+
latest_build = Date.parse gem_info["built_at"]
|
74
|
+
end
|
75
|
+
if gem_info["number"].to_s == current_version.to_s
|
76
|
+
current_build = Date.parse gem_info["built_at"]
|
77
|
+
|
78
|
+
days_complete = latest_build - current_build
|
79
|
+
if gem_lines[name].nil?
|
80
|
+
array_to_write = Array.new(default_length) { |i| "" }
|
81
|
+
else
|
82
|
+
array_to_write = final_write[gem_lines[name]].split('|')
|
27
83
|
end
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
84
|
+
array_to_write[gem_name_pos] = "[" + name + "]" + "(" + gems_latest_info["homepage_uri"].to_s + ")"
|
85
|
+
array_to_write[gem_version_pos] = current_version.to_s
|
86
|
+
array_to_write[gem_latest_pos] = gems_latest_info["version"].to_s
|
87
|
+
array_to_write[gem_date_pos] = (latest_build).to_s
|
88
|
+
array_to_write[gem_age_pos] = days_complete.to_i.to_s
|
89
|
+
if !gem_info["licenses"].nil?
|
90
|
+
array_to_write[gem_license_pos] = gem_info["licenses"][0]
|
91
|
+
else
|
92
|
+
array_to_write[gem_license_pos] = "N/A"
|
93
|
+
end
|
94
|
+
array_to_write[gem_change_pos] = gems_latest_info["changelog_uri"].to_s + "\n"
|
95
|
+
if !gem_lines[name].nil?
|
96
|
+
final_write[gem_lines[name]] = array_to_write.join("|")
|
97
|
+
else
|
98
|
+
final_write << array_to_write.join("|")
|
35
99
|
end
|
36
100
|
end
|
37
|
-
|
38
101
|
end
|
39
|
-
rescue Exception => e
|
40
|
-
|
41
102
|
end
|
103
|
+
rescue Exception => e
|
104
|
+
puts e
|
42
105
|
end
|
43
106
|
end
|
44
|
-
|
45
|
-
}
|
107
|
+
end
|
108
|
+
File.open('myprecious.md', 'w') { |f| f.write(final_write.join) }
|
109
|
+
file.close
|
46
110
|
end
|
47
111
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: myprecious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Balki Kodarapu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A simple, markdown generated with information about your gems
|
14
14
|
email: balki.kodarapu@gmail.com
|