web-puc 0.4.1 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/web-puc.rb +24 -49
  3. metadata +10 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: faa1aa54bbac8dbb2fb9f771097ca6ae18f8ab4a663ef35de54400f927e309bc
4
- data.tar.gz: f7bb4d32df03787029342f416c0b6138a8e6c8678133497e7e687af665ff218c
3
+ metadata.gz: 1cf4dec93eaaca199a532e18f5af6ba2b1aac5d9818e58576646b5a8dec5ce91
4
+ data.tar.gz: eef7d51757f43f1914ab5c53b3fb2b8a7f74a5f3fadca68f04aa01633687db5d
5
5
  SHA512:
6
- metadata.gz: e5c9a6509e20d95161b84f4e615db3f230c9ddc8fd1a6fad784a30f154d07e247fced0cf66056037c9facf7bac685529d1a699bd7b86b18b38b25db5f6196cd6
7
- data.tar.gz: 6bcb2ea40c6c3e83baff3a9ad7e019cb4df139118bd2b80dff2aa48566380f3914bede6dc38f0ae3fcd74c13c56c0cc06822174b4d53607498313e46c29e7782
6
+ metadata.gz: 7674e18b3e5e3b845902ce9133dd174d1aa67d048460787c93f6609e9371ab2da6663b1c19afd778f851d7df4d973dd642513d425e4a158ba6156a6879491b87
7
+ data.tar.gz: ccd7b67f24ea5bee6a8e094b848ca1047fdb88a9b8d85bff9f28b79b156ab04ebbc3a234e6921e94683e49b29f17f4121f553264030874d41ef5d946f5c0f0af
data/lib/web-puc.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
- require 'rake'
3
- require 'stat'
2
+ require "ostruct"
3
+ require "optparse"
4
+ require "yaml"
5
+ require "net/http"
4
6
  require 'shellwords'
5
- require 'http'
6
- require 'yaml'
7
- require_relative 'version'
7
+ #require "gemrake"
8
8
 
9
9
  DATA_STORE_FILENAME = File.expand_path('~/.web-puc-data.yml')
10
10
  CACHE_EXPIRATION_PERIOD = 7*24*60*60
@@ -13,13 +13,11 @@ class LibraryNotImplementedException < Exception
13
13
  end
14
14
 
15
15
  class Optparse
16
-
17
16
  def self.parse(args)
18
17
  options = OpenStruct.new
19
18
  options.exclude = []
20
19
  options.libs = []
21
20
  options.clear = false
22
- options.stat = false
23
21
 
24
22
  opt_parser = OptionParser.new do |opts|
25
23
  opts.banner = 'Usage: web-puc [options] <files>'
@@ -32,10 +30,6 @@ class Optparse
32
30
  options.clear = true
33
31
  end
34
32
 
35
- opts.on('--stat', 'Output in STAT format') do
36
- options.stat = true
37
- end
38
-
39
33
  opts.on('-h', '--help', 'Show this message') do
40
34
  puts opts
41
35
  exit
@@ -45,16 +39,17 @@ class Optparse
45
39
  options.libs = list
46
40
  end
47
41
 
48
- opts.on_tail('-v', '--version', 'Show version') do
49
- puts "web-puc #{WebPuc::VERSION}"
50
- exit
51
- end
42
+ # TODO: make this work
43
+ #opts.on('-v', '--version', 'Show version') do
44
+ # puts Gem::Specification::load(File.expand_path('../web-puc.gemspec', __FILE__)).version
45
+ # exit
46
+ #end
47
+
52
48
  end
53
49
 
54
50
  opt_parser.parse!(args)
55
51
  options
56
52
  end
57
-
58
53
  end
59
54
 
60
55
  def get_link(lib, version)
@@ -99,14 +94,17 @@ else
99
94
  end
100
95
 
101
96
  options.libs.each { |lib|
102
- if !libs_cached.nil? && !libs_cached[lib].nil? && libs_cached[lib]['expired'] < Time.now
97
+ if !libs_cached.nil? && !libs_cached[lib].nil? && Time.at(libs_cached[lib]['expired']) < Time.now
103
98
  libs_versions[lib] = libs_cached[lib]
104
99
  else
105
- response = JSON.parse HTTP.get("https://api.cdnjs.com/libraries/#{lib}?fields=assets").body
100
+ # Fetch using net/http
101
+ response_text = Net::HTTP.get(URI("https://api.cdnjs.com/libraries/#{lib}?fields=assets"))
102
+ # response = JSON.parse HTTP.get("https://api.cdnjs.com/libraries/#{lib}?fields=assets").body
103
+ response = JSON.parse response_text
106
104
  unless response['assets'].nil?
107
105
  libs_versions[lib] = Hash.new
108
106
  libs_versions[lib]['version'] = Array.new
109
- libs_versions[lib]['expired'] = Time.now + CACHE_EXPIRATION_PERIOD
107
+ libs_versions[lib]['expired'] = Time.now.to_i + CACHE_EXPIRATION_PERIOD
110
108
  response['assets'].each_with_index { |asset, index|
111
109
  # first version is a most actual
112
110
  next if index == 0
@@ -117,16 +115,11 @@ options.libs.each { |lib|
117
115
  }
118
116
  File.write(DATA_STORE_FILENAME, libs_cached.merge(libs_versions).to_yaml)
119
117
 
120
- process = StatModule::Process.new('WebPuc')
121
- process.version = "#{WebPuc::VERSION}"
122
- process.description = 'Validate your web project uses the latest CSS & JS includes.'
123
- process.maintainer = 'William Entriken'
124
- process.email = 'github.com@phor.net'
125
- process.website = 'https://github.com/fulldecent/web-puc'
126
- process.repeatability = 'Volatile'
127
- stat = StatModule::Stat.new(process)
118
+ puts "web-puc"
119
+ # Make this work:
120
+ # puts "web-puc #{Gem::Specification::load(File.expand_path('../web-puc.gemspec', __FILE__)).version}"
128
121
 
129
- stat.print_header if options.stat
122
+ return_status = 0
130
123
  files.each { |file|
131
124
  file = file.shellescape
132
125
  libs_versions.each { |lib, val|
@@ -137,29 +130,11 @@ files.each { |file|
137
130
  matches.each { |match|
138
131
  description = match[match.index(':') + 1, match.length]
139
132
  line = match[0, match.index(':')].to_i
140
- location = StatModule::Location.new(file)
141
- location.begin_line = line
142
- location.end_line = line
143
-
144
- finding = StatModule::Finding.new(true, description, 'Old version')
145
- finding.location = location
146
-
147
- stat.findings.push(finding)
148
-
149
- stat.print_finding if options.stat
133
+ puts "#{file}:#{line}:#{description}"
134
+ return_status = 1
150
135
  }
151
136
  }
152
137
  }
153
138
  }
154
139
 
155
- if options.stat
156
- stat.print_footer
157
- else
158
- if stat.findings.length > 0
159
- stat.findings.each { |finding|
160
- puts finding.print true
161
- }
162
- abort stat.summary_print true
163
- end
164
- puts stat.summary_print true
165
- end
140
+ exit return_status
metadata CHANGED
@@ -1,71 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web-puc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Entriken
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-18 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '12'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '12'
27
- - !ruby/object:Gem::Dependency
28
- name: structured-acceptance-test
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.0.6
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.0.6
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: http
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '2.2'
33
+ version: '5.1'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '2.2'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.5'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.5'
40
+ version: '5.1'
69
41
  description: Validate your web project uses the latest CSS & JS includes
70
42
  email: github.com@phor.net
71
43
  executables:
@@ -79,7 +51,7 @@ homepage: https://github.com/fulldecent/web-puc
79
51
  licenses:
80
52
  - MIT
81
53
  metadata: {}
82
- post_install_message:
54
+ post_install_message:
83
55
  rdoc_options: []
84
56
  require_paths:
85
57
  - lib
@@ -94,8 +66,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
66
  - !ruby/object:Gem::Version
95
67
  version: '0'
96
68
  requirements: []
97
- rubygems_version: 3.0.3
98
- signing_key:
69
+ rubygems_version: 3.3.7
70
+ signing_key:
99
71
  specification_version: 4
100
72
  summary: Web Package Update Checker
101
73
  test_files: []