diff --git a/.github/workflows/test-lang-ruby.yml b/.github/workflows/test-lang-ruby.yml
index a3c53f910f3..4c8f963dd45 100644
--- a/.github/workflows/test-lang-ruby.yml
+++ b/.github/workflows/test-lang-ruby.yml
@@ -43,6 +43,7 @@ jobs:
         - '3.0'
         - '3.1'
         - '3.2'
+        - '3.3'
     steps:
       - uses: actions/checkout@v4
 
@@ -83,6 +84,7 @@ jobs:
         - '3.0'
         - '3.1'
         - '3.2'
+        - '3.3'
     steps:
       - uses: actions/checkout@v4
 
@@ -165,4 +167,4 @@ jobs:
       - name: Build
         run: |
             set -x
-            ./build.sh clean test
\ No newline at end of file
+            ./build.sh clean test
diff --git a/lang/ruby/test/test_logical_types.rb b/lang/ruby/test/test_logical_types.rb
index 3aeb3498397..3dd7ce183f5 100644
--- a/lang/ruby/test/test_logical_types.rb
+++ b/lang/ruby/test/test_logical_types.rb
@@ -141,7 +141,7 @@ def test_logical_type_default_value
                     "null"
                 ],
                 "default": "\u0000"
-            }  
+            }
         ]
     }')
 
@@ -215,7 +215,7 @@ def test_logical_type_default_value
     sales_tax_record = {
       "sales" => BigDecimal("12.34"),
       "tax" => BigDecimal("0.000"),
-      "invoice_date" => Time.at(0).to_date,
+      "invoice_date" => Date.new(1970, 1, 1),
       # time-millis is not supported
       "invoice_time" => 0,
       "created_at" => Time.at(0).utc,