Sha256: 8ad183e33e2df55752e057f59853bf926bb83f0d659c45a613ccbe3b1a3ef278

Contents?: true

Size: 1.04 KB

Versions: 9

Compression:

Stored size: 1.04 KB

Contents


module Antrapol
  module ToolRack
    module ConditionUtils

      def is_empty?(obj)
        if not defined?(obj)
          true
        elsif obj.nil?
          true
        elsif obj.respond_to?(:empty?)
          if obj.respond_to?(:strip)
            obj.strip.empty?
          else
            obj.empty?
          end
        elsif obj.respond_to?(:length)
          obj.length == 0
        elsif obj.respond_to?(:size)
          obj.size == 0
        else
          false
        end
      end # is_empty?

      def not_empty?(obj)
        !is_empty?(obj)
      end # not empty

      def is_boolean?(val)
        !!val == val
      end
      alias_method :is_bool?, :is_boolean?

      def is_string_boolean?(str)
        if not_empty?(str)
          s = str.to_s.strip.downcase
          case s
          when "true", "false"
            true
          else
            false
          end
        else
          false
        end
      end
      alias_method :is_str_bool?, :is_string_boolean?

    end # ConditionUtils
  end # MyToolRack
end # Antrapol

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
toolrack-0.12.0 lib/toolrack/condition_utils.rb
toolrack-0.11.0 lib/toolrack/condition_utils.rb
toolrack-0.10.0 lib/toolrack/condition_utils.rb
toolrack-0.9.3 lib/toolrack/condition_utils.rb
toolrack-0.9.2 lib/toolrack/condition_utils.rb
toolrack-0.9.1 lib/toolrack/condition_utils.rb
toolrack-0.9.0 lib/toolrack/condition_utils.rb
toolrack-0.8.2 lib/toolrack/condition_utils.rb
toolrack-0.7.0 lib/toolrack/condition_utils.rb