Sha256: 86c7b759f4900f26c05c66e71f5ed4c0ab89e7da8ec4957af9f9429b3be6f106

Contents?: true

Size: 607 Bytes

Versions: 30

Compression:

Stored size: 607 Bytes

Contents

# frozen_string_literal: true

module Cmdlet
  # Comparison helpers, eg. or, and, equal, not equal, less than, greater than etc.
  module Comparison
    # Default: Return true if **all of** the given values are truthy.
    class Default < Cmdlet::BaseCmdlet
      #
      # @param [Object] values - one or more paramaters that may or may not contain nil
      # @return [String] return true when every value is truthy
      def call(*values)
        default_value = values[-1]

        find_value = values[0..-2].find { |value| !value.nil? }

        find_value || default_value
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
cmdlet-0.14.0 lib/cmdlet/comparison/default.rb
cmdlet-0.13.2 lib/cmdlet/comparison/default.rb
cmdlet-0.13.1 lib/cmdlet/comparison/default.rb
cmdlet-0.13.0 lib/cmdlet/comparison/default.rb
cmdlet-0.12.5 lib/cmdlet/comparison/default.rb
cmdlet-0.12.4 lib/cmdlet/comparison/default.rb
cmdlet-0.12.3 lib/cmdlet/comparison/default.rb
cmdlet-0.12.2 lib/cmdlet/comparison/default.rb
cmdlet-0.12.1 lib/cmdlet/comparison/default.rb
cmdlet-0.12.0 lib/cmdlet/comparison/default.rb
cmdlet-0.11.0 lib/cmdlet/comparison/default.rb
cmdlet-0.10.1 lib/cmdlet/comparison/default.rb
cmdlet-0.10.0 lib/cmdlet/comparison/default.rb
cmdlet-0.9.2 lib/cmdlet/comparison/default.rb
cmdlet-0.9.1 lib/cmdlet/comparison/default.rb
cmdlet-0.9.0 lib/cmdlet/comparison/default.rb
cmdlet-0.8.0 lib/cmdlet/comparison/default.rb
cmdlet-0.7.1 lib/cmdlet/comparison/default.rb
cmdlet-0.7.0 lib/cmdlet/comparison/default.rb
cmdlet-0.6.2 lib/cmdlet/comparison/default.rb