Sha256: 955431cc78454af92adb886f003d85fca6029f0639f0e8b4ae76d38508113ab4

Contents?: true

Size: 392 Bytes

Versions: 44

Compression:

Stored size: 392 Bytes

Contents

#
# lib/skn_utils/null_object.rb
#
module SknUtils

  # From: https://github.com/avdi/cowsay
  class NullObject
    def initialize
      @origin = caller.first
    end

    def __null_origin__
      @origin
    end

    def method_missing(*args, &block)
      self
    end

    def nil?
      true
    end
  end

  def self.nullable?(value)
    value.nil? ? NullObject.new : value
  end

end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
skn_utils-5.4.0 lib/skn_utils/null_object.rb
skn_utils-5.3.0 lib/skn_utils/null_object.rb
skn_utils-5.2.0 lib/skn_utils/null_object.rb
skn_utils-5.1.3 lib/skn_utils/null_object.rb
skn_utils-5.1.2 lib/skn_utils/null_object.rb
skn_utils-5.1.1 lib/skn_utils/null_object.rb
skn_utils-5.1.0 lib/skn_utils/null_object.rb
skn_utils-5.0.2 lib/skn_utils/null_object.rb
skn_utils-5.0.1 lib/skn_utils/null_object.rb
skn_utils-5.0.0 lib/skn_utils/null_object.rb
skn_utils-4.0.4 lib/skn_utils/null_object.rb
skn_utils-4.0.3 lib/skn_utils/null_object.rb
skn_utils-4.0.1 lib/skn_utils/null_object.rb
skn_utils-4.0.0 lib/skn_utils/null_object.rb
skn_utils-3.6.0 lib/skn_utils/null_object.rb
skn_utils-3.5.2 lib/skn_utils/null_object.rb
skn_utils-3.5.0 lib/skn_utils/null_object.rb
skn_utils-3.4.2 lib/skn_utils/null_object.rb
skn_utils-3.4.1 lib/skn_utils/null_object.rb
skn_utils-3.4.0 lib/skn_utils/null_object.rb