codemonitor 0.3.0 → 0.3.1

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: bf55eb8d37288cec3ce8e828f6705c552d78707084648062b303a75bc7d0a063
4
- data.tar.gz: 40a0b1d17eeb986534b812f2668a79eeee4ecf2fb21ec40fe1a672dce8b61a34
3
+ metadata.gz: e7aff9a4482c1d98c0f2fb183509ce2c4570f3a9fd2a7bc5285fd242f002138a
4
+ data.tar.gz: 458f94d6c2292633fbf06921f34606bb8c6f12390cb26d92ebcb9e4d7c29d9fe
5
5
  SHA512:
6
- metadata.gz: 7fd6aad0e254c9e0efebff094266fa4528bd640a1671a26c8523d86daf4944c72e8116f55bbb87d74bf5f194ada216624f28a3d0de10d962541f768e8c720344
7
- data.tar.gz: 38ae84cbcb7888349e1309d6f0008dd62f6c537818ba93197abbf40eed406222c6bad00e990c193f4d6dcc569038bb81011fe4570b8051ea09a98587d7c3a99a
6
+ metadata.gz: 23c3463de88a3926c3fbad214ba337fec330616f7f32e5c10218ffecef5ba0670af391c54b53c3888efb7806524e1f9df9ab8bc2dc536d07dd69862c30fd0f91
7
+ data.tar.gz: 968f1343c883be353a5ecc08dcb5bf878573661f6bfaf6d52aea823b6eedd7b2098e8dce7ff42146a3566edfb759e7156b2bb02f764e9cdcc832d493c6842ca0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- codemonitor (0.2.0)
4
+ codemonitor (0.3.0)
5
5
  dogapi (~> 1.45)
6
6
 
7
7
  GEM
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Engines
4
+ module Debug
5
+ class Extractor
6
+ METRICS = %i[
7
+ debug_random
8
+ ].freeze
9
+
10
+ def call(provider)
11
+ return unless requirements?
12
+
13
+ metrics = METRICS.map do |metric|
14
+ [metric, send(metric) || 0]
15
+ end.to_h
16
+
17
+ provider.emit(metrics)
18
+ end
19
+
20
+ private
21
+
22
+ def requirements?
23
+ true
24
+ end
25
+
26
+ def debug_random
27
+ rand(0..100)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -15,6 +15,10 @@ module Engines
15
15
  git_number_of_lines
16
16
  ].freeze
17
17
 
18
+ def initialize
19
+ @threshold = ENV.fetch('CODEMONITOR_GIT_FILES_THRESHOLD', '0').to_i
20
+ end
21
+
18
22
  def call(provider)
19
23
  return unless requirements?
20
24
 
@@ -30,6 +34,8 @@ module Engines
30
34
 
31
35
  private
32
36
 
37
+ attr_reader :threshold
38
+
33
39
  def requirements?
34
40
  File.exist?('.git')
35
41
  end
@@ -84,8 +90,10 @@ module Engines
84
90
  .map do |file|
85
91
  File.extname(file.strip)
86
92
  end.each_with_object(Hash.new(0)) do |type, total|
87
- total["git_file_extensions_#{type.gsub('.', '')}"] += 1
88
- end
93
+ total[type.gsub('.', '')] += 1
94
+ end.map do |key, value|
95
+ ["git_file_extensions_#{key}", value] if value >= threshold
96
+ end.compact.to_h
89
97
  end
90
98
  end
91
99
  end
data/exe/codemonitor CHANGED
@@ -5,6 +5,7 @@ require_relative '../providers/console'
5
5
  require_relative '../providers/datadog'
6
6
 
7
7
  require_relative '../engines/eslint/extractor'
8
+ require_relative '../engines/debug/extractor'
8
9
  require_relative '../engines/git/extractor'
9
10
  require_relative '../engines/npm/extractor'
10
11
  require_relative '../engines/packwerk/extractor'
@@ -19,6 +20,7 @@ PROVIDERS = {
19
20
 
20
21
  EXTRACTORS = {
21
22
  eslint: Engines::Eslint::Extractor,
23
+ debug: Engines::Debug::Extractor,
22
24
  git: Engines::Git::Extractor,
23
25
  npm: Engines::Npm::Extractor,
24
26
  packwerk: Engines::Packwerk::Extractor,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CodeMonitor
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codemonitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ferran Basora
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-29 00:00:00.000000000 Z
11
+ date: 2021-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dogapi
@@ -115,6 +115,7 @@ files:
115
115
  - bin/console
116
116
  - bin/setup
117
117
  - codemonitor.gemspec
118
+ - engines/debug/extractor.rb
118
119
  - engines/eslint/extractor.rb
119
120
  - engines/git/extractor.rb
120
121
  - engines/npm/extractor.rb