robot_lab-rails 0.2.7 → 0.2.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 +4 -4
- data/.envrc +5 -0
- data/.loki +1 -1
- data/CHANGELOG.md +4 -0
- data/Rakefile +0 -1
- data/examples/18_rails/.envrc +3 -0
- data/lib/generators/robot_lab/install_generator.rb +2 -0
- data/lib/robot_lab/rails/version.rb +1 -1
- data/lib/robot_lab/rails_integration/engine.rb +1 -0
- data/lib/robot_lab/rails_integration/job.rb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eaf4479c60e6b79e1e2a66923147cd3ed5930002f75bb2d6df7da11624618cfa
|
|
4
|
+
data.tar.gz: e5f3e074d4d5c2682a1d98d9f5425780bebb6853341df099b993928f1cc16a98
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b22a3b9b1d3a60a42bfe20c4ebaa11502c8df6fa91dd05c0ea7b1f7309d98f5c293576f76d3bd0f5d035541caf3e53614f104478b95097c0932ef7c54843814d
|
|
7
|
+
data.tar.gz: c199df74ed4ac5f60c68bd3c1122a7e42e203eda2dda7ede661c43845c17ee10ce6067d59692fc186f369a4722d313fc5372a7322c2a7ec2e56d240b436e2ba8
|
data/.envrc
CHANGED
data/.loki
CHANGED
|
@@ -8,7 +8,7 @@ class Tasks
|
|
|
8
8
|
|
|
9
9
|
header "robot_lab-rails v#{gem_version} — Rails integration for RobotLab"
|
|
10
10
|
|
|
11
|
-
desc "Run Rails
|
|
11
|
+
desc "Run the full test suite (this gem's tests ARE its Rails integration tests)"
|
|
12
12
|
def integration
|
|
13
13
|
sh "bundle exec rake test"
|
|
14
14
|
end
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.2.8] - 2026-09-09
|
|
4
|
+
|
|
5
|
+
Released in lockstep with `robot_lab` core v0.2.8: this gem now resolves the released core gem from RubyGems instead of the local sibling checkout (local-path development remains available via `BUNDLE_GEMFILE=Gemfile.local`). Also in this release: 6 reek false positives annotated inline, reek added to the development bundle, and gem lifecycle moved to asgard with `RAILS_ROOT` set for the Rails-aware quality gates.
|
|
6
|
+
|
|
3
7
|
### Added
|
|
4
8
|
- `.loki` Asgard task file: `test`, `rubocop`, `rubocop_fix`, `flog`, `flay`, `quality`, `build`, `install`, `release`, and `console` tasks via the Asgard task runner
|
|
5
9
|
- `flay_check` Rake task: structural code duplication gate (mass threshold 50); integrated into the `quality` Rake task
|
data/Rakefile
CHANGED
data/examples/18_rails/.envrc
CHANGED
|
@@ -47,6 +47,8 @@ module RobotLab
|
|
|
47
47
|
empty_directory "app/tools"
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
# :reek:DuplicateMethodCall -- each `say ""` prints one blank spacer line; the repetition is the formatting.
|
|
51
|
+
# :reek:TooManyStatements -- a linear list of post-install instructions printed in order.
|
|
50
52
|
def display_post_install
|
|
51
53
|
say ""
|
|
52
54
|
say "RobotLab installed successfully!", :green
|
|
@@ -18,6 +18,7 @@ module RobotLab
|
|
|
18
18
|
retry_on StandardError, wait: 5.seconds, attempts: 3
|
|
19
19
|
discard_on ActiveJob::DeserializationError
|
|
20
20
|
|
|
21
|
+
# :reek:TooManyStatements -- the job's one linear resolve/run/persist/broadcast orchestration.
|
|
21
22
|
def perform(message:, robot_class: nil, thread_id: nil, **context)
|
|
22
23
|
klass = resolve_robot_class(robot_class)
|
|
23
24
|
thread = setup_thread(thread_id, message)
|
|
@@ -37,6 +38,7 @@ module RobotLab
|
|
|
37
38
|
|
|
38
39
|
private
|
|
39
40
|
|
|
41
|
+
# :reek:ControlParameter -- nil runtime_class means "fall back to the class-level robot_class DSL", a default, not a mode switch.
|
|
40
42
|
def resolve_robot_class(runtime_class)
|
|
41
43
|
klass = runtime_class || self.class.robot_class
|
|
42
44
|
unless klass
|
|
@@ -57,6 +59,7 @@ module RobotLab
|
|
|
57
59
|
thread
|
|
58
60
|
end
|
|
59
61
|
|
|
62
|
+
# :reek:FeatureEnvy -- factory method: the job wires its own Turbo callbacks into klass.build; the robot class cannot know them.
|
|
60
63
|
def build_robot(klass, thread_id)
|
|
61
64
|
if thread_id && turbo_available?
|
|
62
65
|
stream_name = "robot_lab_thread_#{thread_id}"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: robot_lab-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dewayne VanHoozer
|
|
@@ -156,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
156
156
|
- !ruby/object:Gem::Version
|
|
157
157
|
version: '0'
|
|
158
158
|
requirements: []
|
|
159
|
-
rubygems_version: 4.0.
|
|
159
|
+
rubygems_version: 4.0.20
|
|
160
160
|
specification_version: 4
|
|
161
161
|
summary: Rails integration for the robot_lab LLM agent framework
|
|
162
162
|
test_files: []
|