New Upstream Release - ruby-beaneater

Ready changes

Summary

Merged new upstream version: 1.1.3 (was: 1.1.1).

Resulting package

Built on 2022-12-21T12:53 (took 4m48s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-releases ruby-beaneater

Lintian Result

Diff

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1fa6802..effe049 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
 # CHANGELOG for Beaneater
 
+## 1.1.3 (Oct 14 2022)
+
+* Fixes issue introduced in 1.1.2 re YML parsing (@pond)
+* Fix job lookup test so it passes again
+
+## 1.1.2 (Oct 10 2022)
+
+* Fixes beaneater when used with Ruby 3.1 and YAML 4 (@pond)
+
 ## 1.1.1 (April 27th 2021)
 
 * Support Ruby 3 keyword arguments (@yahonda)
diff --git a/debian/changelog b/debian/changelog
index 3ce0c84..08c9efd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ruby-beaneater (1.1.3-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Wed, 21 Dec 2022 12:49:30 -0000
+
 ruby-beaneater (1.1.1-1) unstable; urgency=medium
 
   * Team Upload
diff --git a/lib/beaneater/connection.rb b/lib/beaneater/connection.rb
index bbb1748..ef2cf82 100644
--- a/lib/beaneater/connection.rb
+++ b/lib/beaneater/connection.rb
@@ -150,7 +150,12 @@ class Beaneater
       if ['OK','FOUND', 'RESERVED'].include?(status)
         bytes_size = body_values[-1].to_i
         raw_body = connection.read(bytes_size)
-        body = status == 'OK' ? YAML.load(raw_body) : config.job_parser.call(raw_body)
+        body = if status == 'OK'
+          psych_v4_valid_body = raw_body.gsub(/^(.*?): (.*)$/) { "#{$1}: #{$2.gsub(/[\:\-\~]/, '_')}" }
+          YAML.load(psych_v4_valid_body)
+        else
+          config.job_parser.call(raw_body)
+        end
         crlf = connection.read(2) # \r\n
         raise ExpectedCrlfError.new('EXPECTED_CRLF', cmd) if crlf != "\r\n"
       end
diff --git a/lib/beaneater/version.rb b/lib/beaneater/version.rb
index 0b0f459..4223b69 100644
--- a/lib/beaneater/version.rb
+++ b/lib/beaneater/version.rb
@@ -1,4 +1,4 @@
 class Beaneater
   # Current version of gem.
-  VERSION = "1.1.1"
+  VERSION = "1.1.3"
 end
diff --git a/test/jobs_test.rb b/test/jobs_test.rb
index d7120e4..8292aba 100644
--- a/test/jobs_test.rb
+++ b/test/jobs_test.rb
@@ -28,8 +28,12 @@ describe Beaneater::Jobs do
       assert_equal "foo find #{@time}", @jobs.find(@job.id).body
     end
 
-    it "should return nil for invalid id" do
-      assert_nil @jobs.find(-1)
+    it "should return nil for invalid negative id" do
+      assert_nil @jobs.find(10000) 
+    end
+
+    it "should return nil for invalid negative id" do
+      assert_raises(Beaneater::BadFormatError) { @jobs.find(-1) }
     end
   end # find
 
diff --git a/test/test_helper.rb b/test/test_helper.rb
index b4e8a54..783b2f0 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -7,7 +7,7 @@ $:.unshift File.expand_path("../../lib")
 require 'beaneater'
 require 'timeout'
 begin
-  require 'mocha/setup'
+  require 'mocha/minitest'
 rescue LoadError
   require 'mocha'
 end
diff --git a/test/tube_test.rb b/test/tube_test.rb
index 96edc60..8df9269 100644
--- a/test/tube_test.rb
+++ b/test/tube_test.rb
@@ -89,9 +89,9 @@ describe Beaneater::Tube do
 
     it "should support custom parser" do
       Beaneater.configure.job_parser = lambda { |b| JSON.parse(b) }
-      json = '{"message":"hi"}'
+      json = '{"message": "hi: there! this: is a long message"}'
       @tube.put(json)
-      assert_equal 'hi', @tube.peek(:ready).body['message']
+      assert_equal 'hi: there! this: is a long message', @tube.peek(:ready).body['message']
     end
 
     after do

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/beaneater-1.1.3.gemspec

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/beaneater-1.1.1.gemspec

No differences were encountered in the control files

More details

Full run details