lex-eval 0.3.4 → 0.3.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aabfca67b0fbf149dfd15a4f5d98470650cf1a6b21f9360b0fae255b79eaf768
4
- data.tar.gz: cd96a0ed40712464bcf787e84e4eafab8fd755e510e176be085e4e812bb89eac
3
+ metadata.gz: c6e527b6bd5b88d862de94408ddd8fa8a3ef6fb5a3916b1bb888ab1278c68bf5
4
+ data.tar.gz: b10274099420ae181d751f6874cc029e76657e08bafa2c2152a3f08fd9896c28
5
5
  SHA512:
6
- metadata.gz: 41b8d88c294213b9381926a371bd9eaa8b542e528dcc43902895660fca2fd86726847b39df47c285b83115c101f4f21a78da7ee0772a7adbe3f4723474f34472
7
- data.tar.gz: e6e61d84ea5b733fb69d6ba1e893d9341a3c63b885d9dd2deac51f0ed5b89b98c30fc818edbe7003a67c7ec5321593559b64a2349831cb0e2feeb24efc4093ed
6
+ metadata.gz: 0b8014e5428708f9f04d90fea9cf48b16af90216998aa694c4723ef723dde6365840ceb50a2ef64c65801f613bcf9c3df40c402dd96013f8ce2180e6307cae88
7
+ data.tar.gz: 973ce2e3f5f9aa4bea347600861ef1e9e4ec741445ca7f4b0ae9142466823920c2eabd1f9608780ad2fa7634fc711b98cfe99825a38ae8de0efdde6616038193
@@ -9,6 +9,9 @@ module Legion
9
9
  class CodeReviewSubscriber < Legion::Extensions::Actors::Subscription
10
10
  QUEUE = defined?(Transport::Queues::CodeReview) ? Transport::Queues::CodeReview : nil
11
11
 
12
+ def runner_class = self.class
13
+ def runner_function = 'action'
14
+
12
15
  def action(payload)
13
16
  code = payload[:runner_code] || payload[:code]
14
17
  spec_code = payload[:spec_code] || ''
@@ -26,9 +29,19 @@ module Legion
26
29
 
27
30
  result
28
31
  rescue StandardError => e
29
- Legion::Logging.warn("CodeReviewSubscriber failed: #{e.message}") if defined?(Legion::Logging)
32
+ log.warn("CodeReviewSubscriber failed: #{e.message}")
30
33
  { passed: false, verdict: :reject, error: e.message }
31
34
  end
35
+
36
+ private
37
+
38
+ def log
39
+ return Legion::Logging if defined?(Legion::Logging)
40
+
41
+ @log ||= Object.new.tap do |nl|
42
+ %i[debug info warn error fatal].each { |m| nl.define_singleton_method(m) { |*| nil } }
43
+ end
44
+ end
32
45
  end
33
46
  end
34
47
  end
@@ -14,7 +14,8 @@ module Legion
14
14
 
15
15
  ::Dir.glob(::File.join(dir, '*.yaml')).filter_map do |path|
16
16
  YAML.safe_load_file(path, symbolize_names: true)
17
- rescue StandardError
17
+ rescue StandardError => e
18
+ log.warn("Failed to load guardrail: #{e.message}")
18
19
  nil
19
20
  end
20
21
  end
@@ -58,7 +59,7 @@ module Legion
58
59
  response: { success: false, blocked: true, reason: rule[:name],
59
60
  content: rule[:fallback_response] || 'Request blocked by guardrail.' } }
60
61
  when :warn
61
- Legion::Logging.warn("Guardrail #{rule[:name]} triggered") if defined?(Legion::Logging)
62
+ log.warn("Guardrail #{rule[:name]} triggered")
62
63
  nil
63
64
  when :fallback
64
65
  { action: :block, rule: rule[:name],
@@ -76,6 +77,14 @@ module Legion
76
77
  ''
77
78
  end
78
79
  end
80
+
81
+ def log
82
+ return Legion::Logging if defined?(Legion::Logging)
83
+
84
+ @log ||= Object.new.tap do |nl|
85
+ %i[debug info warn error fatal].each { |m| nl.define_singleton_method(m) { |*| nil } }
86
+ end
87
+ end
79
88
  end
80
89
  end
81
90
  end
@@ -3,7 +3,7 @@
3
3
  module Legion
4
4
  module Extensions
5
5
  module Eval
6
- VERSION = '0.3.4'
6
+ VERSION = '0.3.8'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-eval
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Iverson