Sha256: e12e90bb4a8d4633f36515e0384290e9aae0f7df02fdaf674654c7637882721e

Contents?: true

Size: 643 Bytes

Versions: 4

Compression:

Stored size: 643 Bytes

Contents

require "active_support/inflector"

class Object
  def kinda_file?
    any_kind_of?(File, Dir)
  end

  def any_kind_of? *kinds
    kinds.all_kinds.each do |kind| 
      return true if self.kind_of? kind        
    end
    false
  end

  def not_any_kind_of? *kinds
    kinds.all_kinds.each do |kind| 
      return false if self.kind_of? kind        
    end
    true
  end

  def kind_of_label?
    self.any_kind_of? String, Symbol          
  end

  def kind_of_symbol?
    self.any_kind_of? Symbols, Symbol          
  end
end
    
class Kinds            
  attr_accessor :kinds
  
  def initialize *kinds
    self.kinds = *kinds
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sugar-high-0.4.4.2 lib/sugar-high/kind_of.rb
sugar-high-0.4.4.1 lib/sugar-high/kind_of.rb
sugar-high-0.4.4 lib/sugar-high/kind_of.rb
sugar-high-0.4.3 lib/sugar-high/kind_of.rb