Sha256: d6902edc87ea5fbcd35b2a58a25e149d89af37cdeecfe49ebb871c21ac25b764

Contents?: true

Size: 532 Bytes

Versions: 1

Compression:

Stored size: 532 Bytes

Contents

# frozen_string_literal: true

require "active_support/string_inquirer"

module Haku
  class Result
    def initialize(status, payload)
      @status = ActiveSupport::StringInquirer.new(status.to_s)
      @payload = payload

      return unless @payload.respond_to?(:to_h)

      @payload.to_h.each_key do |key|
        define_singleton_method(key) { @payload[key] }
      end
    end

    def result
      @payload
    end

    def success?
      @status.success?
    end

    def failure?
      @status.failure?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
haku-1.2.0 lib/haku/result.rb