Sha256: 42ac1e9b5cc4e8cc45867277cc8c16d6abbd787798f14bcece723bcb481a6844

Contents?: true

Size: 996 Bytes

Versions: 119

Compression:

Stored size: 996 Bytes

Contents

module Tins
  module Blank
    module Object
      def blank?
        respond_to?(:empty?) ? empty? : !self
      end

      def present?
        !blank?
      end
    end

    module NilClass
      def blank?
        true
      end
    end

    module FalseClass
      def blank?
        true
      end
    end

    module TrueClass
      def blank?
        false
      end
    end

    module Array
      def self.included(modul)
        modul.module_eval do
          alias_method :blank?, :empty?
        end
      end
    end

    module Hash
      def self.included(modul)
        modul.module_eval do
          alias_method :blank?, :empty?
        end
      end
    end

    module String
      def blank?
        self !~ /\S/
      end
    end

    module Numeric
      def blank?
        false
      end
    end
  end
end

unless Object.respond_to?(:blank?)
  for k in Tins::Blank.constants
    Object.const_get(k).class_eval do
      include Tins::Blank.const_get(k)
    end
  end
end

Version data entries

119 entries across 105 versions & 8 rubygems

Version Path
tins-1.38.0 lib/tins/xt/blank.rb
tins-1.37.1 lib/tins/xt/blank.rb
tins-1.37.0 lib/tins/xt/blank.rb
tins-1.36.1 lib/tins/xt/blank.rb
tins-1.36.0 lib/tins/xt/blank.rb
tins-1.35.0 lib/tins/xt/blank.rb
tins-1.34.0 lib/tins/xt/blank.rb
tins-1.33.0 lib/tins/xt/blank.rb
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/lib/tins/xt/blank.rb
tins-1.32.1 lib/tins/xt/blank.rb
tins-1.32.0 lib/tins/xt/blank.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/lib/tins/xt/blank.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/lib/tins/xt/blank.rb
tins-1.31.1 lib/tins/xt/blank.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/tins-1.31.0/lib/tins/xt/blank.rb
tins-1.31.0 lib/tins/xt/blank.rb
tins-1.30.0 lib/tins/xt/blank.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/tins-1.29.1/lib/tins/xt/blank.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/lib/tins/xt/blank.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/lib/tins/xt/blank.rb