vtk 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad99a9b7f12175a81330df9b6dd29e528e088a934d9ddb4d13532cdc82745b8a
4
- data.tar.gz: 79949c6723be663c804e04e06f8ff8e6a13781b9eda335821fa28f1b73830200
3
+ metadata.gz: f38bf2816e12d02d33715da96ee84b7101f72378daa994e7a09dcf84769d46b7
4
+ data.tar.gz: d823b0a548bb2b51d6e945b692c3ee396c556dedd715171d40266a1c3f86a5a8
5
5
  SHA512:
6
- metadata.gz: 5950052b41123adfda1fb86db4dcb8ba66387b8f743a0b8f80cbea87b20963c4e75e84077addd2f96be7a172305c63c1140869997ed932bf6d30a092f76c1235
7
- data.tar.gz: f290f9c6a3be7c2dd31e45d70568da46ab22d214311e5dfb5845e6432d05f2a4416f62b1fd6ba837ceed49e7882f381130966f5facda0f7e0e01584dcf17420e
6
+ metadata.gz: 0a9f1ab0d6e9b15a5397f277eb1cce487f7b73d7c5aace867c74c443f5c7f16a7edc2985bae32f4e227018601aefeb5e6cf6447064ee000e0968eeabad5bdc51
7
+ data.tar.gz: 25f80d204782a2327745b04dfdd76a6708651b941fc0aa73489c92d5c7e706d834cb9e588519e913c9435656ad75fc7c4c8bbba0db67d849f83f6385c35784d5
data/.rubocop.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  AllCops:
2
2
  NewCops: enable
3
+ TargetRubyVersion: 2.5
3
4
 
4
5
  Layout/LineLength:
5
6
  Max: 120
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Platform Developer Toolkit
1
+ # VFS Toolkit
2
2
 
3
- The purpose of this gem is to allow VFS engineers to quickly begin developing on VA.gov. It does this by providing a command line interface that allows the use of simple commands and parameters to do everything from setting up a development environment to building out a directory structure and creating necessary files for separating code into its own module.
3
+ The purpose of this gem is to allow engineers to quickly begin developing on VA.gov. It does this by providing a command line interface that allows the use of simple commands and parameters to do everything from setting up a development environment to building out a directory structure and creating necessary files for separating code into its own module.
4
4
 
5
5
  *The following assumes you have Ruby 2.6.6 or higher installed*
6
6
 
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'net/http'
5
+ require 'open-uri'
6
+ require 'uri'
7
+
8
+ module Vtk
9
+ # Provides command analytics to VTK team
10
+ class Analytics
11
+ attr_reader :name, :args, :hostname
12
+
13
+ def initialize(name:, args: nil, hostname: nil)
14
+ @name = name
15
+ @args = args || ARGV.join('_')
16
+ @hostname = hostname || `hostname -f`.chomp
17
+ end
18
+
19
+ def log
20
+ return if ENV['CI'] || ENV['TEST'] || ENV['VTK_DISABLE_ANALYTICS']
21
+
22
+ Process.fork do
23
+ exit unless internet?
24
+
25
+ emit_point
26
+ rescue StandardError
27
+ false # Silently error
28
+ end
29
+ end
30
+
31
+ def emit_point
32
+ uri = URI.parse 'https://dev.va.gov/_vfs/vtk-analytics/record'
33
+ Net::HTTP.start uri.host, uri.port, use_ssl: uri.scheme == 'https' do |http|
34
+ request = Net::HTTP::Post.new uri, 'Content-Type' => 'application/json'
35
+ request.body = { series: [point] }.to_json
36
+ http.request request
37
+ end
38
+ end
39
+
40
+ def point
41
+ {
42
+ metric: 'vtk.command_executed',
43
+ type: 'count',
44
+ interval: 1,
45
+ tags: ["name:#{name}", "args:#{args}"],
46
+ host: hostname,
47
+ points: [[Time.now.utc.to_i, '1']]
48
+ }
49
+ end
50
+
51
+ def internet?
52
+ true if URI.open 'http://www.google.com/'
53
+ rescue SocketError
54
+ false
55
+ end
56
+ end
57
+ end
data/lib/vtk/command.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'forwardable'
4
+ require 'vtk/analytics'
4
5
 
5
6
  module Vtk
6
7
  # Command class that all command inherit from
@@ -9,6 +10,11 @@ module Vtk
9
10
 
10
11
  def_delegators :command, :run
11
12
 
13
+ def initialize
14
+ command_name = self.class.to_s.split('::').last(2).join('_').downcase
15
+ Vtk::Analytics.new(name: command_name).log
16
+ end
17
+
12
18
  # Execute this command
13
19
  #
14
20
  # @api public
data/lib/vtk/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vtk
4
- VERSION = '0.7.0'
4
+ VERSION = '0.8.0'
5
5
  end
data/vtk.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.summary = 'A CLI for the platform'
13
13
  spec.description = 'This is a platform CLI tool for VFS developer usage.'
14
14
  spec.homepage = 'https://github.com/department-of-veterans-affairs/vtk'
15
- spec.required_ruby_version = Gem::Requirement.new('>= 2.4.0')
15
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
16
16
 
17
17
  spec.metadata['homepage_uri'] = spec.homepage
18
18
  spec.metadata['documentation_uri'] = spec.homepage
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency 'pry', '~> 0.13.0'
35
35
  spec.add_development_dependency 'rake', '~> 13.0.0'
36
36
  spec.add_development_dependency 'rspec', '~> 3.10.0'
37
- spec.add_development_dependency 'rubocop', '~> 1.6.0'
37
+ spec.add_development_dependency 'rubocop', '~> 1.8.0'
38
38
  spec.add_development_dependency 'rubocop-rake', '~> 0.5.0'
39
39
  spec.add_development_dependency 'rubocop-rspec', '~> 2.0.0'
40
40
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vtk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Boehs
8
8
  - Lindsey Hattamer
9
9
  - Travis Hilton
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
13
  date: 2021-03-01 00:00:00.000000000 Z
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: 1.6.0
91
+ version: 1.8.0
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: 1.6.0
98
+ version: 1.8.0
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rubocop-rake
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,7 @@ files:
150
150
  - docs/design-doc.md
151
151
  - exe/vtk
152
152
  - lib/vtk.rb
153
+ - lib/vtk/analytics.rb
153
154
  - lib/vtk/cli.rb
154
155
  - lib/vtk/command.rb
155
156
  - lib/vtk/commands/.gitkeep
@@ -174,7 +175,7 @@ metadata:
174
175
  documentation_uri: https://github.com/department-of-veterans-affairs/vtk
175
176
  source_code_uri: https://github.com/department-of-veterans-affairs/vtk
176
177
  changelog_uri: https://github.com/department-of-veterans-affairs/vtk/blob/master/CHANGELOG.md
177
- post_install_message:
178
+ post_install_message:
178
179
  rdoc_options: []
179
180
  require_paths:
180
181
  - lib
@@ -182,15 +183,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
182
183
  requirements:
183
184
  - - ">="
184
185
  - !ruby/object:Gem::Version
185
- version: 2.4.0
186
+ version: 2.5.0
186
187
  required_rubygems_version: !ruby/object:Gem::Requirement
187
188
  requirements:
188
189
  - - ">="
189
190
  - !ruby/object:Gem::Version
190
191
  version: '0'
191
192
  requirements: []
192
- rubygems_version: 3.0.3
193
- signing_key:
193
+ rubygems_version: 3.2.1
194
+ signing_key:
194
195
  specification_version: 4
195
196
  summary: A CLI for the platform
196
197
  test_files: []