fu_nil 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/README.md +15 -0
  2. data/lib/fu_nil.rb +29 -0
  3. metadata +49 -0
data/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # FU NIL
2
+
3
+ ## Description
4
+
5
+ From recent frustrations a co-worker had with nil and division of zero in Ruby comes the fu-nil gem. Not pronounced foo but rather Eff You as a giant middle finger to the Ruby nil and not being allowed to be used in math operators. The division by zero is an added luxury to the fu-nil gem.
6
+
7
+ ## Installation
8
+
9
+ gem install fu_nil
10
+ irb
11
+ require 'rubygems'
12
+ require 'fu_nil'
13
+ 5 + nil + 3 # 8
14
+ 100.0 / 0 # 0
15
+ 100 / nil # 0
data/lib/fu_nil.rb ADDED
@@ -0,0 +1,29 @@
1
+ module FuNil
2
+
3
+ end
4
+
5
+ class NilClass
6
+
7
+ def method_missing(meth, *args, &block)
8
+ 0.send(meth, *args)
9
+ end
10
+
11
+ end
12
+
13
+ class Fixnum
14
+
15
+ def /(x)
16
+ return 0 if x.zero?
17
+ super x
18
+ end
19
+
20
+ end
21
+
22
+ class Float
23
+
24
+ def /(x)
25
+ return 0 if x.zero?
26
+ super x
27
+ end
28
+
29
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fu_nil
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Chavez
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-22 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Allows the ruby nil to be used in math operators. Allows the amazing
15
+ division of zero.
16
+ email: ''
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files:
20
+ - README.md
21
+ files:
22
+ - lib/fu_nil.rb
23
+ - README.md
24
+ homepage: http://github.com/mtchavez/fu-nil
25
+ licenses: []
26
+ post_install_message:
27
+ rdoc_options:
28
+ - --charset=UTF-8 --main=README.md
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ none: false
33
+ requirements:
34
+ - - ! '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ! '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ requirements: []
44
+ rubyforge_project:
45
+ rubygems_version: 1.8.17
46
+ signing_key:
47
+ specification_version: 3
48
+ summary: FU NIL
49
+ test_files: []