From b946d5efa6cc175384dcbe2e2ab0444540c3aced Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Wed, 28 Jan 2026 10:36:23 -0600 Subject: [PATCH] Added Result class to make writing failure resistant code easier --- lib/cyberarm_engine.rb | 1 + lib/cyberarm_engine/result.rb | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 lib/cyberarm_engine/result.rb diff --git a/lib/cyberarm_engine.rb b/lib/cyberarm_engine.rb index ca80a55..bdb27c6 100644 --- a/lib/cyberarm_engine.rb +++ b/lib/cyberarm_engine.rb @@ -9,6 +9,7 @@ require "json" require_relative "cyberarm_engine/version" require_relative "cyberarm_engine/stats" +require_relative "cyberarm_engine/result" require_relative "cyberarm_engine/common" diff --git a/lib/cyberarm_engine/result.rb b/lib/cyberarm_engine/result.rb new file mode 100644 index 0000000..bd06902 --- /dev/null +++ b/lib/cyberarm_engine/result.rb @@ -0,0 +1,20 @@ +module CyberarmEngine + # result pattern + class Result + attr_accessor :error, :data + + def initialize(data: nil, error: nil) + @data = data + @error = error + end + + def okay? + !@error + end + + def error? + @error || @data.nil? + end + end +end +