Sha256: 362ff68d0eece0c4ac9bdccdb11530ad058f419a785ac10d28ccede447797bf6
Contents?: true
Size: 748 Bytes
Versions: 3
Compression:
Stored size: 748 Bytes
Contents
# frozen_string_literal: true module Engines module Custom class Extractor def call(provider) provider.emit(metrics) end def requirements? custom_files.length.positive? end private def custom_files Dir.glob('./.codemonitor/*.rb') end def metrics custom_files.map do |file| values = begin eval File.read(file) rescue SyntaxError => e raise "Unable to execute the custom codemonitor script `#{file}` file" end raise "Malformed return value from `#{file}` file. It must be a hash of metrics" unless values.is_a?(Hash) values end.reduce({}, :merge) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
codemonitor-0.6.0 | engines/custom/extractor.rb |
codemonitor-0.5.0 | engines/custom/extractor.rb |
codemonitor-0.4.0 | engines/custom/extractor.rb |