Sha256: 600be744e23a468a89ec9667ddae59874b74fc389fea543db3d75045c51db4ca

Contents?: true

Size: 821 Bytes

Versions: 5

Compression:

Stored size: 821 Bytes

Contents

Array.class_eval do
	def to_nil
		self.empty? ? nil : self
	end
end

Bignum.class_eval do
	def to_nil
		self==0 ? nil : self
	end
end

Float.class_eval do
	def to_nil
		(self==0 || !self.finite?) ? nil : self
	end
end

Fixnum.class_eval do
	def to_nil
		self==0 ? nil : self
	end
end

Hash.class_eval do
	def to_nil
		self.empty? ? nil : self
	end
end

TrueClass.class_eval do
	def to_nil
		self
	end
end

FalseClass.class_eval do
	def to_nil
		nil
	end
end

NilClass.class_eval do
	def to_nil
		nil
	end
end

Symbol.class_eval do
	def to_nil
		self
	end
end

String.class_eval do
	def to_nil(aPattern=nil)
		return nil if self.empty?
		if aPattern
			return nil if (aPattern.is_a? Regexp) && (self =~ aPattern)
			return nil if aPattern.to_s == self
		end
		self
	end
end

Time.class_eval do
	def to_nil
		self
	end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
buzztools-0.1.2 lib/buzztools/to_nil.rb
buzztools-0.1.1 lib/buzztools/to_nil.rb
buzztools-0.1.0 lib/buzztools/to_nil.rb
buzztools-0.0.11 lib/buzztools/to_nil.rb
buzztools-0.0.10 lib/buzztools/to_nil.rb