Sha256: 226d4360dc2270255ff4843c2e8c5af78d5b5f426931b4c5cf1520921d9572d2

Contents?: true

Size: 1.62 KB

Versions: 7

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

module Doing
  # Numeric helpers
  class ::Numeric
    # Test of number is positive
    def good?
      self >= 0
    end
  end

  # Object helpers
  class ::Object
    ##
    ## Tests if object is nil or empty
    ##
    ## @return     [Boolean] true if object is defined and
    ##             has content
    ##
    def good?
      !nil? && !self&.empty? || false
    end
  end

  # Time helpers
  class ::Time
    ##
    ## Tests if object is nil
    ##
    ## @return     [Boolean] true if object is defined and
    ##             has content
    ##
    def good?
      !nil?
    end
  end

  # String helpers
  class ::String
    ##
    ## Tests if object is nil or empty
    ##
    ## @return     [Boolean] true if object is defined and
    ##             has content
    ##
    def good?
      !strip.empty?
    end
  end

  # Array helpers
  class ::Array
    ##
    ## Tests if object is nil or empty
    ##
    ## @return     [Boolean] true if object is defined and
    ##             has content
    ##
    def good?
      !nil? && !empty?
    end
  end

  # Boolean helpers
  class ::FalseClass
    ##
    ## Tests if object is nil or empty
    ##
    ## @return     [Boolean] true if object is defined and
    ##             has content
    ##
    def good?
      false
    end

    def normalize_tag_sort
      :time
    end
  end

  # Boolean helpers
  class ::TrueClass
    ##
    ## Tests if object is nil or empty
    ##
    ## @return     [Boolean] true if object is defined and
    ##             has content
    ##
    def good?
      true
    end

    def normalize_tag_sort
      :name
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
doing-2.1.88 lib/doing/good.rb
doing-2.1.87 lib/doing/good.rb
doing-2.1.86 lib/doing/good.rb
doing-2.1.85 lib/doing/good.rb
doing-2.1.84 lib/doing/good.rb
doing-2.1.83 lib/doing/good.rb
doing-2.1.82 lib/doing/good.rb